投稿者: ginnam

  • 【Ubuntu+RTX3060Ti】Linux環境で『Neverness to Everness (NTE)』を動かす完全ガイド!数々のエラーを力技で突破した記録

    【Ubuntu+RTX3060Ti】Linux環境で『Neverness to Everness (NTE)』を動かす完全ガイド!数々のエラーを力技で突破した記録

    はじめに

    こんにちは!今回は、今話題のUnreal Engine 5製オープンワールドRPG『Neverness to Everness(ネバーネスト・トゥ・エバーネスト / 通称NTE)』を、Linux環境(Ubuntu 24.04 / RTX 3060 Ti)で起動させることに成功したので、その手順と数々の罠の突破方法をブログにまとめます。

    「LinuxでWindowsの最新ゲームなんて動くの?」と思うかもしれませんが、結論から言うと「完璧に動きます」。 ただし、普通にSteamに登録して起動ボタンを押すだけでは、数々のエラーの壁に阻まれます。特に「Snap版Steamの制限」「インストーラーのフリーズ」「パスが長すぎるエラー」「アンチチートのブロック(エラーコード:0x7ab54)」など、Linux特有の罠が満載でした。

    同じようにNTEをLinux環境でプレイしたい方の参考になれば幸いです!


    動作環境

    • OS: Ubuntu (GNOME環境)
    • GPU: NVIDIA GeForce RTX 3060 Ti (ドライババージョン 550以上推奨)
    • Steam: Snap版

    罠その1:カスタムインストール画面のグレーアウト問題

    NTEをLinux環境で動かすためにまず公式サイトからWindows用のインストーラー(.exe)をダウンロードし、Steamの「非Steamゲームを追加」からGE-Proton等を使って起動するところまでは順調でした。

    しかし、最初の難関が訪れます。 インストール先を変更しようと「カスタムインストール」を選択した瞬間、画面がグレーアウトして操作不能(フリーズ状態)になってしまうのです。

    グレーアウトして操作不能になってしまいます。

    【原因と対策】 これは、Linux上でWindowsアプリを動かすProtonが、Windows特有の「フォルダ選択用ポップアップウィンドウ」の描画や制御に失敗していることが原因です。 裏技として「Alt + Tab」を連打してフォーカスを合わせる方法などもありますが、一番手っ取り早い解決策は「おとなしくクイックインストールで進める」ことです。まずは初期設定のままインストールを完了させましょう。


    罠その2:クイックインストール後の「パスが長すぎるエラー」

    クイックインストールで進めると無事にインストールは完了しますが、今度はゲームを起動しようとした時に「パス(Path)が長すぎます」というエラーに直面します。

    【原因と対策】 UbuntuのSnap版Steamを使用している場合、ゲームファイルは仮想Cドライブの非常に深い階層に保存されます。 具体的には以下のような、目眩がするほど長いパスになります。 ~/snap/steam/common/.local/share/Steam/steamapps/compatdata/(特定の数字)/pfx/drive_c/Program Files/Neverness To Everness/

    Windows向けに作られたNTEのシステムは、このLinux(Snap)特有の超ロングパスを認識できず、エラーを吐いてしまうのです。

    これを回避する「力技」がこちらです:

    1. 上記の非常に深い階層にある Neverness To Everness フォルダを丸ごとコピー(またはカット) します。
    2. 自分のホームフォルダの直下など、分かりやすくて短い場所(例:/home/ユーザー名/NTE/Neverness To Everness/)にフォルダごと引っ越し(ペースト)させます。
    3. Steamのゲームプロパティを開き、「ショートカット」タブの「リンク先」「作業フォルダー」を、移動先の短いパス(NTEGlobalLauncher.exeがある場所)に書き換えます。

    ※この時、パスの中に「Neverness To Everness」と半角スペースが含まれているため、パス全体を必ず "(ダブルクォーテーション) で囲んでください。スペースがあるとSteamがパスを正しく認識できず、起動しなくなります。(確実に行うなら、プロパティの「閲覧…」ボタンから直接ファイルを選択し直すと、自動で正しいパスが入るのでおすすめです)。

    最初はなかなか気づかなかったんですが、これではダメということですね。必ず ”/home/ユーザー名/NTE/Neverness To Everness/“ というように "(ダブルクォーテーション)で囲みましょう!
    この書き方が正解です。

    罠その3:アンチチートによる起動即拒否(エラー 0x7ab54)

    パスを短くして「プレイ」を押すと、ついにランチャーが起動します!……が、喜んだのも束の間。 画面に「現在の環境に異常があります(0x7ab54)。異常を引き起こす可能性のあるプログラムを終了し、再起動してください。」という不穏なエラーメッセージが出て強制終了されてしまいます。

    【原因と対策】 これはNTEの不正防止プログラム(アンチチート)が、Linux(Proton)環境を「不正なツール(チート環境)」と誤検知してブロックしている状態です。一般的な「GE-Proton」や「Proton Experimental」では、この壁を越えることができません。

    これを突破するために、NTEのアンチチートに対応した有志開発の互換レイヤー「DW-Proton」を導入します。

    1. DW-Protonをダウンロードする 公式の配布ページhttps://dawn.wine/dawn-winery/dwproton/releases)にアクセスし、最新の安定版(例:dwproton-11.0-1-x86_64.tar.xz)をダウンロードします。
    2. ファイルを展開し、Steamのフォルダへ配置する ダウンロードしたファイルを解凍し、出てきたフォルダを以下の「Snap版Steam特有の互換ツールフォルダ」の中に直接入れます。
      • 配置先: /home/ユーザー名/snap/steam/common/.steam/root/compatibilitytools.d/ (※compatibilitytools.d フォルダがない場合は、右クリックから新規作成してください)
    3. Steamを再起動して適用する Steamを完全に一度終了させてから再起動します。NTEのプロパティから「互換性」タブを開き、「特定のSteam Play互換ツールの使用を強制する」にチェックを入れ、リストから「dwproton-11.0-1」を選択します。

    ついに無事プレイ開始!

    すべての設定を終え、祈るような気持ちで「プレイ」ボタンを押したところ……先ほどのアンチチートエラーは綺麗に消え去り、無事にゲームが起動しました!

    開始早々逮捕されたので脱獄してきましたw

    RTX 3060 Tiを搭載しているおかげで、グラフィック設定を高く設定しても、Unreal Engine 5で描かれる美しい近未来の街並みを非常に滑らかに、サクサクと快適にプレイすることができています。Wayland環境でもボタンの誤作動なく安定して動作しています。


    まとめ

    Linuxでのゲーム環境は年々進化していますが、今回の『Neverness to Everness』のような最新のオンライン要素を含むゲームでは、以下の3点が大きな鍵となります。

    • ウィンドウのグレーアウト対策には「クイックインストール」
    • パス長すぎ対策には「フォルダの引っ越し+ダブルクォーテーションによるパスの固定」
    • アンチチート対策には「DW-Protonの最新版を手動導入」

    今後ゲームの大型アップデートが入った際には、再度DW-Protonの更新が必要になる可能性がありますが、現時点ではこの方法で完璧に遊ぶことができます。

    UbuntuユーザーでNTEの起動を諦めかけていた方、ぜひこの「力技」を試してみてください!異界(Everness)の街でお会いしましょう!

  • 【パルワールド】APIとDiscord Botを連携して管理サーバーを作ってみた開発記

    【パルワールド】APIとDiscord Botを連携して管理サーバーを作ってみた開発記

    はじめに

    パルワールド(Palworld)の専用サーバー(Dedicated Server)を身内で運用していると、こんな悩みに直面することがあります。

    • 「今、サーバーに誰かログインしているのかな?」
    • 「自分がいない間にみんながどれくらい遊んでいるか知りたい」
    • 「ゲームの外(Discordなど)からサーバー内にアナウンスを飛ばしたい」

    パルワールドには標準で「REST API」という外部からサーバーの情報を取得・操作できる強力な機能が備わっています。今回は、このAPIを活用して、Ubuntu上の自作サーバーとDiscordを連携させ、プレイヤーの入退室通知やステータス表示を全自動化する「パルワールド管理Discord Bot」を開発した全記録をお届けします。

    同じように「サーバー管理を快適にしたい」「Pythonでちょっとした自動化ツールを作ってみたい」という方の参考になれば幸いです。


    1. パルワールド専用サーバーで「外部連携」を行うメリット

    パルワールドの専用サーバーは、ただ立ち上げるだけでもある程度遊べますが、外部のAPI機能を使ってDiscordなどのGUI(画面やチャットインターフェース)と連携させることで、管理効率とコミュニティの快適性が劇的に向上します。

    ① ゲームを開かずに「島の状況」が一目でわかる

    通常、サーバーに誰がいるかを確認するには、ゲームを起動してサーバーにログインするか、黒い画面(CUIコンソール)を開いて複雑なコマンドを叩く必要があります。 しかし、Discord Botと連携させることで、スマホやPCのDiscord画面を見るだけで「現在のログイン人数」や「誰がオンラインか」がリアルタイムに把握できるようになります。

    BOTの名前のとこでも今何人ログインしているのかわかったりします。

    ② 管理者コマンドの「民主化」とハードルの低下

    サーバー内アナウンスの送信やプレイヤー確認などの管理者コマンドは、本来ゲーム内で特殊なコマンドを打ち込む必要があります。これをDiscordのチャット経由(例:!announce メッセージ)で行えるようにすることで、黒い画面に抵抗がある人でも安全かつ直感的にサーバーの管理操作ができるようになります。

    ③ サーバーの「生きてる感」が伝わり、コミュニティが活性化する

    誰かがログインした時にDiscordに「📥 ログイン: 〇〇がサーバーに参加しました。」と自動で通知が飛ぶようになると、それを見た他のメンバーが「あ、アイツが入ったなら自分もやろうかな」と、ゲームに集まるきっかけが生まれます。サーバーの稼働状況が可視化されること自体が、コミュニティを盛り上げる強力なガジェットになります。

    こんな感じで通知が飛んできます。

    2. 開発環境と全体のシステム構成

    今回のBot開発にあたり、以下のような構成でシステムを構築しました。

    • サーバーOS: Ubuntu Linux(セルフホスト環境)
    • 開発言語: Python 3
    • 主要ライブラリ: discord.py, requests
    • 自動起動システム: systemctl (systemd) による常時稼働・サービス化

    パルワールドのREST API(ポート 8212)に対して、Pythonコードから定期的にリクエスト(HTTP通信)を送り、返ってきたJSONデータを解析してDiscordにメッセージを送信する仕組みです。

    さらに、Linuxサーバー自体が再起動した際にも自動でBotが立ち上がるよう、バックグラウンドのサービスとして登録し、「メンテナンスフリーで完全に自走するシステム」を目指しました。


    3. 開発中に直面した「3つの大きな躓きポイント」と解決策

    一見シンプルなシステムですが、実際にコードを書いて動かしてみると、いくつかの予想外の罠(仕様)に悩まされました。ここでは、特に苦労したデバッグの記録を共有します。

    📌 躓き①:ログイン・ログアウト通知がまったく反応しない

    初期のコードでは、「15秒ごとにプレイヤーリストを取得し、前回との差分を計算して通知する」というロジックを組みました。しかし、いざテストしてみると、ログインしてもログアウトしてもDiscordに何も通知が飛ばないという現象が発生しました。

    • 原因: Botの「初回起動時の安全策」が裏目に出ていました。Botが起動した瞬間にプレイヤーがログインしていると、それを「初期状態」として記憶してしまい、その後の変化を検知できなくなっていたのです。また、DiscordのBot権限(Intents)である「Server Members Intent」の設定が不足していたことも原因でした。
    • 解決策: コード側の初期化処理(hasattr(self, 'is_initialized'))を厳密に見直し、起動時のリスト保持と、その後のループ処理を完全に分離しました。また、Discord Developer Portal側で適切な特権インテントをONにすることで、正確にイベントを拾えるようになりました。

    📌 躓き②:ログアウトは検知するのに「ログイン」だけ無視される

    初期不良を乗り越えた後、次に襲ってきたのが「ゲームから出た時は通知が来るのに、入った時は通知が来ない」という奇妙なバグでした。

    • 原因: パルワールドのAPIの仕様上、プレイヤーがログインした「瞬間」の数秒間は、APIが返すデータの中でプレイヤー名(name)がまだ確定しておらず、空文字("")の状態で返ってくるタイミングがあることが判明しました。名無しのプレイヤーとして処理されていたため、ログイン判定の条件(差分チェック)をすり抜けていたのです。
    • 解決策: APIから取得したデータのうち、名前がしっかりと取得できているデータのみを抽出するガード文(if p.get('name'))を条件に加えることで、名前が確定した段階で綺麗にログインを検知できるようになりました。

    📌 躓き③:Linuxエディタ(nano)でのコード差し替えの洗礼

    デバッグ中、コードの修正版をLinuxサーバー上のファイルを書き換えて反映させる作業を何度も行いました。その際、標準のテキストエディタである nano を使用したのですが、Windowsの感覚で全選択削除(Alt + A 経由など)を行おうとしたところ、環境(ターミナルソフト)の相性でショートカットキーが一切効かないという地味なストレスに直面しました。

    • 原因: SSH経由のターミナルでは、特定のキーバインド(Altキーなど)がエミュレータ側で上書きされたり、サーバーまで届かないことがあります。
    • 解決策: nano の中で無理に全消去しようとするのを諦め、Linuxのコマンドライン側でリダイレクト記号を使い、ファイルを一瞬で空にする力技を導入しました。Bash: > /path/to/pal_bot.py このコマンドを実行してから nano で開くことで、常に真っ白な状態から最新コードを右クリックで一発貼り付けできるようになり、開発の作業効率が爆発的にアップしました。
    ¥4,200 (2026/05/19 20:53時点 | Amazon調べ)

    4. 完成した「安定版Discord Bot」の強みと機能

    数々のデバッグを経て、現在は非常に安定した「パルワールド管理Bot」が稼働しています。このシステムの主な強みと機能は以下の通りです。

    ① 完全自動の入退室ログ(15秒精度の監視)

    15秒間隔でサーバーを監視し、プレイヤーの「ログイン」「ログアウト」をDiscordの指定チャンネルに絵文字付きでスマートに通知します。誰がいつ来て、いつ帰ったのかのログが綺麗に残るため、サーバーの動向が手に取るようにわかります。

    ② Discordのステータス欄(アクティビティ)への人数リアルタイム表示

    Bot自身のステータス(「〜をプレイ中」の部分)に、現在のリアルタイムな接続人数が「パル人数: 2/32」のように常時表示されます。チャンネルを開かなくても、メンバーリストのBotのアイコンを見るだけでサーバーの混雑状況がわかります。

    さっきも表示したコレですね

    ③ 安全なシャットダウン連動(systemd化)

    今回のBotは、Linuxのサービス(palworld-bot.service)として管理しています。そのため、サーバー自体のメンテナンスや再起動の際、サーバーの終了シグナル(SIGTERM)をBotが安全にキャッチし、Discordへ未送信のデータを残すことなく、綺麗に「ログアウト」してオフラインになる仕組みを実装しました。これにより、プロセスがゾンビ化したり、ログが破損したりするリスクがありません。


    まとめ:個人開発としての振り返り

    今回の開発を通じて、ただゲームを遊ぶだけでなく、「APIを使ってゲームサーバーと外部ツールを繋ぐ」という、一歩踏み込んだインフラ運用の楽しさを体験することができました。

    一見すると「APIを叩いてDiscordに流すだけ」という簡単な仕組みに見えますが、いざ本番環境で動かしてみると、APIのデータの挙動のクセや、プロセスの常時稼働(デーモン化)の難しさなど、実際に手を動かさないと見えてこない学びが非常に多かったです。

    自分で構築したUbuntuサーバーの上で、自分で書いたPythonコードが24時間休まずに動き、身内のDiscordを便利にしてくれているのを見るのは、個人開発者として何よりの達成感があります。

    そして今回は同時にlinuxで稼働しているサーバーをwindows側で監視するというGUIも作成しました。

    UIDを入力してBANやUNBANする機能
    今ログインしているプレイヤーとゲーム内チャットの表示。systemとしてチャットを送信することもできます。
    個人的にお気に入りなのがサーバー設定を見やすく表示する機能です。今どういう設定なのかわかりやすいですよね。

    もし需要があればGUI作成についても触れていこうかなとおもっています!

    今後は、さらにサーバーの負荷監視や自動バックアップの進捗通知など、より高度な機能も気が向いたら追加していければと思っています。パルワールドのサーバー管理をもっと自動化したいと考えている方は、ぜひREST APIの世界に飛び込んでみてください!


    記事が良かったらシェアをお願いします!

  • 【NTE】『Neverness to Everness』をPCで快適に遊ぶなら左手デバイス×多ボタンマウスが最強な理由

    【NTE】『Neverness to Everness』をPCで快適に遊ぶなら左手デバイス×多ボタンマウスが最強な理由

    新作オープンワールドRPG『Neverness to Everness(NTE)』。

    その圧倒的なグラフィックと自由度の高いアクションを最大限に楽しむためには、操作環境の構築が欠かせません。

    今回は、NTEをPCでプレイするなら絶対に導入を検討してほしい「左手デバイス(Razer Tartarus V2)」の魅力と、多ボタンマウスとの組み合わせがいかに「神」であるかについて熱く語っていきたいと思います。


    1. なぜNTEに「左手デバイス」が必要なのか?

    NTEは、都市開発、カーチェイス、そしてハイスピードなアクションバトルが融合したゲームです。

    通常のキーボード操作でもプレイは可能ですが、どうしても以下のような「壁」にぶつかることがあります。

    • 指が足りない: 移動(W/A/S/D)しながらスキルを打ち、さらに回避やジャンプを織り交ぜる際、左手の小指や薬指が悲鳴を上げがち。
    • 誤操作の恐怖: 乱戦中、必殺技を打とうとして隣のキー(メニュー画面など)を開いてしまう。
    • デスクスペースの圧迫: フルサイズキーボードだと、マウスを大きく振るスペースが確保しづらい。

    これらを一気に解決してくれるのが、Razer Tartarus V2をはじめとする左手デバイスです。


    2. Razer Tartarus V2 がNTE攻略の「核」になる理由

    私が数あるデバイスの中でも「Tartarus V2」を推す理由は、その圧倒的な「手に馴染む設計」「拡張性」にあります。

    ① 全32キーが「自由自在」にカスタマイズ可能

    Tartarus V2の最大の特徴は、すべてのキーに好きな機能を割り当てられる点です。

    NTEではキャラクターごとに異なるスキルや、複雑なショートカットが存在しますが、これらを「自分が一番押しやすい位置」に集約できます。

    ② 親指で操作する「サムパッド」の革命

    これが左手デバイスを導入する最大のメリットと言っても過言ではありません。

    通常、キャラクターの移動は「中指・薬指・人差し指」の3本を使いますが、Tartarus V2のサムパッド(十字キー)に移動を割り当てれば、親指1本で全方向へ移動が可能になります。

    ここがポイント!

    移動を親指に任せることで、残りの指(人差し指〜小指)を「すべてスキルの発動や回避」に専念させることができます。これにより、アクションのキレが劇的に向上します。

    ③ メカ・メンブレンの心地よいクリック感

    「メカ・メンブレン」機構を採用しており、メンブレンの柔らかいクッション性と、メカニカルスイッチのクリック感を両立しています。長時間の周回プレイでも指が疲れにくく、かつ「押した感」がしっかりあるため、コンボの入力ミスが減ります。


    3. 「多ボタンマウス」とのシナジーで操作は完成する

    左手デバイスだけでも強力ですが、ここに「多ボタンマウス」が加わると、もはやNTEの世界で敵はいなくなります。

    左手で「移動と主要スキル」を管理し、右手(マウス側)で「視点操作と補助アクション(アイテム使用や交代など)」を管理する。この役割分担がスムーズに行えるようになると、ゲームとの一体感が格段に増します。

    多ボタンマウスに関してはこちらの過去記事で詳しく解説しています。

    ▼あわせて読みたい:多ボタンマウス導入ガイド

    【FF14】G600難民に捧ぐ。代わりの多ボタンマウスなら「RED SAMURAI」が意外な伏兵だった件


    4. NTE向け:理想のキーバインド(割り当て)例

    実際に私が想定している、Tartarus V2を使ったNTEの快適設定案をご紹介します。

    役割・割り当て
    親指(サムパッド)キャラクターの移動(W/A/S/D)
    親指(ボタン)ジャンプ / スペースキー
    人差し指通常攻撃 / スキル1
    中指スキル2 / 必殺技
    薬指回避 / ダッシュ
    小指特殊アクション / インタラクト(Fキー)

    このように「移動」を完全に独立させることで、アクションの自由度が跳ね上がります。特にNTEのようなスピード感のあるバトルでは、コンマ数秒の判断が勝敗を分けるため、この配置は非常に強力です。


    5. まとめ:デバイスへの投資は「体験」への投資

    Razer Tartarus V2は、決して安い買い物ではないかもしれません。しかし、NTEという広大な世界を「ストレスフリー」で、かつ「スタイリッシュ」に駆け抜けるためのパスポートだと考えれば、その価値は十分以上にあります。

    • アクションを極めたい。
    • 長時間のプレイでも疲れにくい環境を作りたい。
    • 自分だけの専用コクピットを作り上げたい。

    そう思う方は、ぜひ左手デバイスの世界に足を踏み入れてみてください。一度慣れてしまうと、もう普通のキーボード操作には戻れなくなるはずです。

    皆さんのNTEライフが、より素晴らしいものになることを願っています!

  • 【FF14】G600難民に捧ぐ。代わりの多ボタンマウスなら「RED SAMURAI」が意外な伏兵だった件

    【FF14】G600難民に捧ぐ。代わりの多ボタンマウスなら「RED SAMURAI」が意外な伏兵だった件

    はじめに:FF14プレイヤーを襲う「G600終了のお知らせ」

    FF14をパッドではなくキーボード&マウスでプレイする「PC勢」にとって、左サイドに12個のボタンが並ぶMMOマウスは、もはや体の一部と言っても過言ではありません。

    中でも「Logicool G600」は、その独特な「Gシフト」ボタンと耐久性から圧倒的なシェアを誇る、いわば「定番中の定番」でした。しかし、ご存知の通り現在は生産終了。市場価格は定価の数倍にまで跳ね上がり、新品を入手することは困難を極めています。

    「G600が壊れたら、もうFF14は引退するしかないのか……?」

    そんな絶望に打ちひしがれている皆さんに、私が2年間使い続け、一つの「答え」として辿り着いた代替マウスをご紹介します。それが、RED SAMURAIの18ボタンゲーミングマウスです。

    RED SAMURAIとは?スペックと生産国について

    正直に言いましょう。最初にこのマウスをAmazonで見かけた時、私は「安すぎて怪しい……」と思いました。しかし、背に腹は代えられず購入。結果として、その予想は良い意味で裏切られることになります。

    まず、気になっている方も多いであろう生産国ですが、調査したところ中国製(Made in China)となっています。企画・販売は日本の「株式会社FSC」というメーカーが手掛けており、怪しい海外直送品ではなく、国内企業が扱うデバイスとしてパッケージ化されています。

    【主なスペック】

    • 最大DPI: 16,400(5段階調整可能)
    • ポーリングレート: 1000Hz
    • ボタン数: 合計18個(左サイド12ボタン+上部ボタン)
    • 調整機能: ウエイト(重り)調整が可能
    • 対応OS: Windows 7 / 8 / 10 / 11

    G600の代わりになれるのか?使用感レビュー

    最大の焦点は「FF14で快適に使えるか」という点です。

    1. サイドボタンの配置と押し心地

    G600特有の「ボタンの傾斜(前後で角度が違うやつ)」ほどハッキリはしていませんが、RED SAMURAIも各ボタンに絶妙な段差があり、親指の感触だけで「いま何段目のボタンを触っているか」を判別できます。最初は慣れが必要ですが、数日触ればG600ユーザーなら違和感なく移行できるはずです。

    2. 専用ソフトウェアによるマッピング

    このマウスには専用のソフトウェアが用意されています。公式サイト(株式会社FSC)からインストールすることで、18個すべてのボタンにキーボード入力を割り当て可能です。 FF14であれば、「Ctrl+1」や「Alt+1」などのショートカットをサイドボタンに仕込むことで、複雑なスキル回しも親指一本で完結します。

    プロファイルとしてマウス本体に保存されるため一度設定してしまえば別環境でも同じように使うことができます。

    3. 価格という圧倒的なアドバンテージ

    G600の転売価格が1.5万〜2万円を超えている今、このRED SAMURAIは3,000円〜4,000円前後で購入できます。正直、G600を1台買うお金で、このマウスが4〜5台買えてしまう計算です。この安さなら「予備」としてもう1台ストックしておくのも現実的です。(無線タイプもあります)

    項目 Logicool G600t RED SAMURAI
    価格(税込) 約15,000円〜
    (プレミア価格・品薄)
    約3,400円〜
    (リーズナブル)
    総ボタン数 20個 18個
    サイドボタン数 12個 12個
    特筆機能 Gシフト(薬指ボタン) ウエイト調整機能
    入手難易度 困難(生産終了) 容易(Amazon等)

    2年間ガチで使ってみた耐久性

    「安いマウスはすぐ壊れる」というイメージがありますが、筆者はこのマウスをメイン機として丸2年使い倒しています。

    先ほども書いたように2年使い倒していますのでサイドボタン部はボロボロです。

    ボロボロなので本体画像を載せようか迷ったのですが、使い込んでいることが伝わればと思い載せることにしました。

    2年以上使ってみましたが

    • チャタリング(クリックの誤作動): なし
    • サイドボタンの陥没: なし
    • センサーの飛び: なし

    FF14だけでなく、他のMMORPGでもハードに使用してきましたが、今のところ不具合は一切出ていません。表面のマット加工も手に馴染みやすく、長時間プレイしても疲れにくい設計です。

    まとめ:多ボタンマウスの新たな選択肢として

    もちろん、G600の「Gシフト(右薬指クリック)」という唯一無二の機能は、このマウスにはありません。そこだけは慣れでカバーする必要があります。

    しかし、

    • サイドに12個のボタンがあること
    • 安価で入手性が高いこと
    • 国内メーカーが扱っており、一定の信頼性があること

    これらを考えると、現在の「G600難民」にとって最も現実的で、かつ賢い選択肢ではないかと確信しています。

    FF14の次なるアップデートに向けて、操作環境を整えたい方。高騰したG600に頭を悩ませている方。一度、この「赤い侍」の実力を試してみてはいかがでしょうか。

  • 【初心者必見】『NTE』を始めたらまず何をする?序盤のつまずきを防ぐ完全ガイド

    【初心者必見】『NTE』を始めたらまず何をする?序盤のつまずきを防ぐ完全ガイド

    『Neverness to Everness』(NTE)の世界へようこそ! 超常現象が日常に溶け込む大都市「ヘテロシティ」での生活は、刺激に満ちていますが、最初は「何から手をつければいいのかわからない」と戸惑うこともあるでしょう。

    今回は、NTEを始めたばかりの「鑑定士」の皆さんが、序盤をスムーズに、そして効率よく進めるためのガイドをまとめました。


    1. メインストーリーを最優先で進める

    まず何よりも優先すべきは、メインストーリー(任務)の進行です。NTEでは、物語を進めることで以下のような重要な要素が次々と解放されます。

    • 各種コンテンツの解放: 育成素材を集めるためのダンジョンや、デイリーミッションなどが解放されます。
    • 新キャラクターの加入: ストーリー進行によって仲間になるキャラクターは、序盤の貴重な戦力です。
    • 都市機能の拡張: 車のカスタマイズや住宅の購入など、本作の目玉である「生活要素」もストーリーの進行度が条件になっていることが多いです。

    「寄り道こそが醍醐味」という気持ちもわかりますが、まずはコンテンツが出揃うところまで一気に駆け抜けましょう。

    2. キャラクター育成の「選択と集中」

    序盤は育成リソース(経験値素材や強化アイテム)が潤沢にあるように感じますが、複数のキャラクターを平均的に育てると、中盤で必ず枯渇します。

    • メインアタッカーを1人決める: 属性の相性も大事ですが、まずは自分が「使いやすい」と感じたアタッカー1人を優先的にレベルアップさせましょう。
    • 弧盤とギア(装備品)の強化: キャラクターのレベルだけでなく、武器の強化も忘れずに。特にレアリティの高い武器を手に入れたら、惜しまず素材を投入してOKです。

    3. 「ヘテロシティ」での移動と探索のコツ

    広大なオープンワールドを効率よく移動するために、以下のポイントを意識してください。

    ReroRero電話ボックス(転送ポイント)の開放

    マップ各所にファストトラベルポイントが設置されています。必ず立ち寄って起動させましょう。ファストトラベルができる場所が増えるほど、後のクエスト消化が劇的に楽になります。

    緑枠の場所がアクティブ状態 青枠の場所が非アクティブ状態。

    都市の「異変」を見逃さない

    街を歩いていると、奇妙な現象や隠れた宝箱に遭遇することがあります。これらはキャラクターの強化素材や、ガチャを回すための貴重な石を入手するチャンスです。ミニマップの反応には常に気を配りましょう。

    4. 序盤で「やってはいけない」注意点

    効率よく進めるために、初心者が陥りがちなミスを回避しましょう。

    • スタミナ(精神力)を溢れさせない: コンテンツに挑戦するために必要なスタミナは、時間で回復します。上限に達したまま放置するのはもったいないので、忙しい日でも素材集めなどで消費する癖をつけましょう。
    • 低レア装備の過度な強化: 序盤に手に入る低レアリティのエイド(装備)は、あくまで「つなぎ」です。最大まで強化するのは、より強力な装備が手に入るまで控えめにしましょう。
    • ガチャの引きすぎに注意: 無課金・微課金で遊ぶ場合、期間限定キャラクターのためにリソースを貯めておくのが定石です。
    マップ右上に2種類のスタミナが表示されています。85/200の方がシティスタミナ 240/240の方が本性ピクセルになります。

    シティスタミナがレースや店舗経営ミニゲームなどで消費するスタミナ

    本性ピクセルが強化素材などを入手するために消費するスタミナです。


    5. 生活要素(車・住宅)の楽しみ方

    NTEの大きな特徴である「生活要素」ですが、これらはゲームの進行に合わせて徐々に深まっていきます。

    • 車両のカスタマイズ: 序盤に手に入る車でも、外装をいじるだけで愛着がわきます。移動手段としてだけでなく、自分だけのスタイルを追求してみましょう。
    • 住宅の購入: ストーリーが進むと、自分の拠点を構えることができます。家具の配置などはじっくり時間をかけて楽しめる要素なので、まずは購入権を解放することを目指しましょう。
    こちらがガレージメニュー
    こちらが不動産メニューです
    ¥4,200 (2026/05/19 20:53時点 | Amazon調べ)

    💡 お金(ファンス)が足りなくなったら?

    ゲームを進めていくと、キャラクターの突破や装備の強化で、驚くほど「ファンス」を消費することになります。「せっかく強いキャラを手に入れたのに、お金がなくて育てられない!」という事態は、多くのプレイヤーが経験する道です。

    効率的なファンスの稼ぎ方や、序盤から意識しておきたい節約術については、こちらの別記事で詳しく解説しています。

    NTE攻略】効率的な金策・資金稼ぎ完全ガイド!ショップ経営から最新トレンドまで


    まとめ

    『Neverness to Everness』は、異能を使った爽快なアクションと、自由な都市生活が融合した素晴らしいタイトルです。

    まずはメインストーリーを軸に進めつつ、ファストトラベル地点を解放して街の構造を覚えることから始めてみてください。ヘテロシティでのあなたの鑑定士ライフが、充実したものになることを願っています!

  • 【NTE攻略】効率的な金策・資金稼ぎ完全ガイド!ショップ経営から最新トレンドまで

    【NTE攻略】効率的な金策・資金稼ぎ完全ガイド!ショップ経営から最新トレンドまで

    1. はじめに:ヘテロシティで「お金」が全てを変える

    『Neverness to Everness(NTE)』の舞台、ヘテロシティでの生活は、お金(ゲーム内通貨:ファンス)があればあるほど自由度が増します。強力な装備の強化はもちろん、ガレージに並べる高級車の購入やフルカスタム、さらには豪華な物件の取得など、やり込み要素のすべてに多額の資金が必要です。

    特に、本作の目玉であるカーカスタマイズは底なしの「ファンス沼」であり、いくらあっても足りません。本記事では、毎日着実に稼ぐ「王道スタイル」から、SNSで注目を集めている「最新のトレンド稼ぎ」までを徹底解説します。

    2. 【王道】毎日欠かさず行うべき基本の金策

    まずは、安定して資産を増やすためのベースとなる手段です。

    • 「デイリークエスト」の達成 毎日更新されるデイリークエストは、短時間のプレイで約2万ファンスを確実に獲得できる基本中の基本です。内容は簡単なものが多く、キャラ育成と並行して必ず終わらせておきましょう。
    • 「異象依頼(アノマリー)」の解決 街の各地で発生する「滝鯉の試練」や「裏通りの拳王」といった異象依頼をクリアすることで、まとまった報酬が得られます。場所が決まっているため、効率的な巡回ルートを覚えるのが稼ぎのコツです。
    • 「マモン」の専用異象界(ウィークリー) メインストーリー3章クリア後に解放される「オークション」で「暴食の目」を落札すると、自宅のマモンから専用異象界に挑戦できます。毎週月曜日にリセットされるため、週に一度の大きな収入源として定着させましょう。

    3. 【最高効率】「壱のコーヒー」経営を極める

    現在、NTEにおいて最も効率が良い金策とされているのが「ショップ経営(壱のコーヒー)」です。

    • 放置でも稼げるパッシブ収入 店舗を運営していると、時間経過で自動的にファンスが蓄積されます。経営状況(店舗レベル)を進めるほど獲得量が増えるため、序盤から積極的にリソースを割くべきコンテンツです。
    • ミニゲームでブースト 接客や調理のミニゲームをこなすことで、より効率的に稼ぐことが可能です。制限時間内に的確にオーダーをこなす「コーヒーマスター」を目指しましょう。

    4. 【話題】SNSで注目されているトレンド・裏技的金策

    攻略界隈やSNSで「これは美味しい」と話題の手法です。

    • 「にくきゅう大強盗」の活用 「シティスタミナ」を消費せずに大量のファンスを稼げる貴重なコンテンツです。獲得できる報酬上限は定期的にリセットされるため、「リセット前に上限まで回収」するのがSNSでの鉄板ルールとなっています。
    • 「シティライフ」のミニゲーム・麻雀ループ シティスタミナ(毎週月曜5時全回復)を消費してプレイするミニゲーム群です。特筆すべきは「麻雀」で、放置気味にプレイしても安定して稼げると話題です。ミニゲームの成績が良いほどスタミナ消費あたりの時短になるため、得意なゲームを見つけるのが近道です。
    • 「特別市内依頼」の全回収 マップ上に点在する高報酬の依頼を、SNSで共有されている「最速ルート」で回る手法です。

    5. まとめ:自分に合った金策ライフを

    NTEの金策において大切なのは、「継続」と「優先順位」です。

    1. まずは「壱のコーヒー」のレベルを上げて、放置収入のベースを底上げする。
    2. 毎日のデイリークエストスタミナ消費(麻雀やミニゲーム)をルーチン化する。
    3. 週に一度、マモン郵便箱(特別市内依頼)を忘れずに消化する。

    まずは自分のプレイスタイルに合った方法を1つ見つけ、ヘテロシティでの豊かな生活を手に入れましょう。余った資金で愛車を世界に一台の仕様に仕上げれば、この街の探索がさらに楽しくなるはずです!

    おまけ

    SNSで話題になっている金策方法です。

  • 【超期待!】2026年にリリース予定・動きが期待されるオンラインゲーム

    【超期待!】2026年にリリース予定・動きが期待されるオンラインゲーム

    2026年5月以降に焦点を当て、これからリリースや大きな動きが期待されるオンラインゲームをまとめました。

    5月以降は、アーリーアクセスの開始や、次世代ハード(Switch 2等)を意識した大型タイトルの具体的な続報が増える時期です。ここで発信する情報が皆さんのゲームライフの一助になれば幸いです。


    1. 2026年5月リリースの大注目作

    直近でサービス・販売が開始される、最も熱いタイトルです。

    サブノーティカ2 (Subnautica 2)

    • リリース日: 2026年5月15日(アーリーアクセス開始)
    • プラットフォーム: PC / Xbox Series X|S
    • 特徴: 大人気海洋サバイバルシリーズの最新作。今作の最大の目玉は、ファン待望の「最大4人での協力マルチプレイ」への対応です。未知の惑星の深海を仲間と探索し、拠点を築く体験は、2026年後半のマルチプレイの定番になりそうです。

    公式HP

    007 First Light (007 ファーストライト)

    • 発売日: 2026年5月27日予定
    • プラットフォーム: PS5 / PC / Switch 2(仮) / Xbox Series X|S
    • 特徴: 若き日のジェームズ・ボンドを描くスパイアクション。シングル主体ですが、オンラインでの協力ミッションやガジェットを駆使した潜入要素が注目されています。最新の「Switch 2」マルチ展開の筆頭候補としても話題です。

    公式HP


    2. 2026年後半〜2027年に期待の大型MMO・対戦作

    開発が佳境を迎え、5月以降にβテストや詳細発表が期待されるタイトルです。

    AION 2 (アイオン2)

    • 期待時期: 2026年後半〜グローバル展開加速
    • 特徴: 先月(4月)に日本版特設サイトが公開されたばかりの超大型MMORPG。前作の36倍という圧倒的広さのマップを「飛行」で駆け巡る体験がウリです。5月以降に開発チームからのQ&Aや新映像の公開が予告されており期待値が高まっているタイトルです。
    • ゲーム体験は高評価の声が多いですが、P2Wなど課金周りでは不満の声がたくさんあります。グローバル展開で調整が入るのかも注目されます。

    公式HP

    Blight Survival

    • 期待時期: 2026年後半プレイテスト予定
    • プラットフォーム: PC (Steam)
    • 特徴: 中世を舞台にした、4人協力型のローグライト・アクション。騎士たちが「病」に侵された地獄のような戦場を探索するダークな世界観が、SNSで大きな反響を呼んでいます。Unreal Engine 5による超美麗グラフィックでの共闘は、コアなゲーマー層に刺さるはずです。

    公式HP


    3. 「Switch 2」世代を見据えたオンライン新作

    2026年後半のハードウェア刷新に合わせて動き出すと見られるタイトルです。

    The Duskbloods

    • 期待時期: 2026年内
    • 特徴: フロム・ソフトウェア関連と噂される、対戦と協力が入り混じるPvPvE作品。5月以降の大型ゲームショウ(E3代替イベントやGamescomなど)で、具体的な対戦システムやリリース時期が明かされる可能性が非常に高い一作です。

    公式HP

    FINAL FANTASY XIV

    • リリース時期: 2026年8月予定
    • 先行プレイ: 正式サービス開始の約1ヶ月前から「先行プレイ期間」が設けられる予定です。サーバー負荷の検証を兼ねているため、早めにエオルゼアに飛び込みたい人は必見です。
    • オンライン加入: 嬉しいことに、Nintendo Switch Onlineへの加入は不要でプレイ可能です。
    • 豊富なコンテンツ量:長年にわたりサービスが続いているタイトルなので、豊富なコンテンツが用意されています。

    4.まとめ

    Switch 2の登場により、これまでのオンラインゲームの体験が劇的に変化しそうです。

    これまでは「携帯機だから」と諦めていたリッチなオンライン体験が、Switch 2によって当たり前のものになります。特に8月のFF14参戦は、日本のオンラインゲーム市場における大きな転換点になるでしょう。

    AION 2に関しては私個人的にも期待しているタイトルでもあります。しかしながら課金周りでの不満の声などもあり改善が期待されます。こちらは4月に公式サイトができたばかりなので、引き続き情報を追いながら新しい情報が解禁されたらお伝えしたいと思います。

  • 【Craftopia】Linux(Ubuntu)で爆速構築!クラフトピア専用サーバー立て方ガイド

    【Craftopia】Linux(Ubuntu)で爆速構築!クラフトピア専用サーバー立て方ガイド

    Steamで大人気のオープンワールドサバイバルアクション『Craftopia(クラフトピア)』。友人と時間を気にせず、いつでも遊べる環境を作るなら「専用サーバー(Dedicated Server)」の構築が一番です。

    今回は、Linux(Ubuntu)環境でSteamCMDを使用し、安定したマルチプレイ環境を爆速で構築する手順を徹底解説します。後半では、運用に欠かせない「自動起動」や「バックアップ」についても触れています。


    1. サーバーの必要スペック

    クラフトピア(特にシームレス版)はメモリ消費が激しいため、余裕を持ったスペックを推奨します。

    • OS: Ubuntu 22.04 LTS 以降
    • CPU: 2コア以上(4コア推奨)
    • メモリ: 8GB以上(快適に遊ぶなら16GB推奨)
    • ストレージ: SSD 20GB以上の空き容量

    2. 事前準備とSteamCMDの導入

    まずはOSを最新の状態にし、実行に必要なライブラリをインストールします。

    依存パッケージのインストール

    sudo apt update && sudo apt upgrade -y
    sudo apt install lib32gcc-s1 software-properties-common screen python3 -y

    実行用ユーザーの作成

    セキュリティのため、専用のユーザーを作成して作業します。

    sudo useradd -m steam
    sudo passwd steam
    su - steam

    SteamCMDのセットアップ

    mkdir ~/steamcmd && cd ~/steamcmd
    wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
    tar -xvzf steamcmd_linux.tar.gz
    

    3. サーバー本体のインストール

    SteamCMDを使って、クラフトピアのサーバーファイルをダウンロードします。

    ./steamcmd.sh +login anonymous +app_update 1670320 validate +quit

    1670320 はクラフトピア専用サーバーのAppIDです。


    4. systemdによる自動起動(System登録)

    サーバーを24時間安定して稼働させるために、OS起動時に自動でサーバーが立ち上がるよう設定します。

    /etc/systemd/system/craftopia.service を作成(sudo権限が必要)し、以下の内容を記述します。

    パスやユーザー名は自身の環境に合わせて書き換えてください。

    [Unit]
    Description=Craftopia Dedicated Server
    After=network.target
    
    [Service]
    Type=simple
    User=steam
    WorkingDirectory=/home/steam/Steam/steamapps/common/Craftopia Dedicated Server/
    ExecStart=/home/steam/Steam/steamapps/common/Craftopia\ Dedicated\ Server/Craftopia.x86_64 -batchmode -nographics
    Restart=always
    RestartSec=10
    
    [Install]
    WantedBy=multi-user.target

    有効化コマンド:

    sudo systemctl daemon-reload
    sudo systemctl enable craftopia.service
    sudo systemctl start craftopia.service

    5. ポート開放(重要)

    外部からの接続を許可するため、以下のポートを開放してください。

    • ポート番号: 8787(デフォルト)
    • プロトコル: UDP および TCP

    UbuntuのUFWを使用している場合:

    sudo ufw allow 8787/udp
    sudo ufw allow 8787/tcp

    6. バックアップのススメ(Pythonスクリプト)

    クラフトピアは開発が活発なため、アップデート時のデータ保護は必須です。Pythonで「世代管理機能付きバックアップ」を自動化しましょう。

    バックアップスクリプト (backup_manager.py)

    import shutil
    import os
    from datetime import datetime
    
    SOURCE = os.path.expanduser('~/.config/unity3d/Pocketpair/Craftopia/Save/')
    DEST = os.path.expanduser('~/backups/craftopia/')
    MAX_GEN = 7  # 7世代分残す
    
    def run_backup():
        if not os.path.exists(DEST): os.makedirs(DEST)
        
        timestamp = datetime.now().strftime('%Y%m%d_%H%M')
        archive_path = os.path.join(DEST, f'craftopia_backup_{timestamp}')
        
        # 圧縮実行
        shutil.make_archive(archive_path, 'zip', SOURCE)
        print(f"Backup created: {archive_path}.zip")
        
        # 世代管理(古いものを削除)
        files = sorted([os.path.join(DEST, f) for f in os.listdir(DEST)], key=os.path.getmtime)
        while len(files) > MAX_GEN:
            os.remove(files.pop(0))
    
    if __name__ == '__main__':
        run_backup()

    定期実行の設定 (Cron)

    毎日深夜3時に自動でバックアップを取る設定です。 crontab -e を開き、末尾に追記します。

    0 3 * * * /usr/bin/python3 /home/steam/backup_manager.py

    まとめ

    1. SteamCMDでサーバーをダウンロード
    2. systemdで「落ちないサーバー」を構築
    3. Pythonで大切なセーブデータを自動保護

    この3ステップで、快適なクラフトピア専用サーバーが完成します。Linux環境での構築は一見難しそうですが、一度設定してしまえばメンテナンス性は抜群です。

    大切なワールドをしっかり守りながら、仲間とのクラフトライフを楽しんでください!

  • 【Ubuntu】パルワールド専用サーバー構築ガイド|自動起動・自動アプデ・メモリ対策まで完全網羅

    【Ubuntu】パルワールド専用サーバー構築ガイド|自動起動・自動アプデ・メモリ対策まで完全網羅

    Ubuntuで行うパルワールド専用サーバー構築完全ガイド

    パルワールドの世界を友人と思い切り楽しむなら、24時間稼働の専用サーバー構築がおすすめです。今回はUbuntuを使用し、セキュリティ設定から自動再起動、アップデートの自動化まで、実用的なセットアップ手順を解説します。

    1. ユーザーの作成とSSHの活用

    セキュリティと管理のしやすさを考え、rootユーザーではなく専用の一般ユーザーを作成しましょう。

    # palworldユーザーを作成
    sudo adduser palworld
    # sudo権限を付与
    sudo usermod -aG sudo palworld
    # 作成したユーザーに切り替え
    su - palworld

    また、作業はSSH(Secure Shell)経由で行うのが一般的です。PCのターミナルからリモート操作ができるため、コマンドのコピー&ペーストが容易になり、作業効率が格段にアップします。


    2. ファイアウォール(UFW)の設定

    サーバーの安全を守るため、必要なポートだけを開放します。

    • SSH用: 22/tcp(作業用)
    • パルワールド用: 8211/udp(ゲーム接続用)
    sudo ufw allow 22/tcp
    sudo ufw allow 8211/udp
    sudo ufw enable

    3. SteamCMDのインストール

    パルワールドのサーバーファイルをダウンロードするために、Steam公式のコマンドラインツール「SteamCMD」を導入します。

    # 32bitライブラリの有効化とインストール
    sudo add-apt-repository multivers
    sudo apt update
    sudo apt install steamcmd

    4. サーバーファイルのダウンロード

    SteamCMDを使って、最新のサーバーデータを取得します。

    # SteamCMDを実行してインストール(パスは環境に合わせて調整)
    /usr/games/steamcmd +login anonymous +app_update 2394010 validate +quit

    [!TIP] 途中で .steam/sdk64/ 関連のエラーが出る場合は、以下のリンク作成を実行してください。 mkdir -p ~/.steam/sdk64/ cp ~/Steam/steamapps/common/PalServer/linux64/steamclient.so ~/.steam/sdk64/


    5. サーバーの起動確認

    まずは手動で起動し、ゲーム内から接続できるか確認しましょう。

    cd ~/Steam/steamapps/common/PalServer
    ./PalServer.sh

    ゲームを起動し、「マルチプレイに参加する(専用サーバー)」から [サーバーのIPアドレス]:8211 を入力してログインできれば成功です!


    6. サービス登録と自動起動の設定

    サーバーをバックグラウンドで動かし、OS再起動時にも自動で立ち上がるよう「Systemd」に登録します。

    sudo nano /etc/systemd/system/palserver.service を作成し、以下を記述します。

    [Unit]
    Description=Palworld Dedicated Server
    After=network.target
    
    [Service]
    User=palworld
    ExecStart=/home/palworld/Steam/steamapps/common/PalServer/PalServer.sh
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    

    保存後、以下のコマンドで有効化します。

    sudo systemctl enable palserver
    sudo systemctl start palserver
    

    7. メモリリーク対策と自動アップデート

    パルワールドのサーバーはメモリ消費が激しいため、定時再起動が推奨されます。また、ゲームの更新に合わせて自動アップデートも仕込んでおきましょう。

    シェルスクリプトの作成

    再起動と更新をセットで行うスクリプト update_pal.sh を作成します。

    #!/bin/bash
    sudo systemctl stop palserver
    /usr/games/steamcmd +login anonymous +app_update 2394010 validate +quit
    sudo systemctl start palserver

    cronによる自動化

    毎日午前5時に再起動とアップデートを行うよう設定します。

    # crontabの編集
    crontab -e
    
    # 以下を追記
    0 5 * * * /home/palworld/update_pal.sh

    まとめ

    これで、Ubuntu上でのパルワールド専用サーバー構築は完了です! SSHによる効率的な管理、UFWによるセキュリティ、そしてcronによる自動メンテナンスを組み合わせることで、安定したパルライフを送り続けることができます。

    快適なパルワールドの旅を!

  • 【完全保存版】Python×Ubuntuでマイクラサーバーを自動運用!バックアップ・再起動・復元をまるごと自動化

    【完全保存版】Python×Ubuntuでマイクラサーバーを自動運用!バックアップ・再起動・復元をまるごと自動化

    「マイクラサーバーを立てたけど、メンテナンスが面倒…」「ワールドが壊れたらどうしよう…」と不安になっていませんか? 今回は、初心者でも迷わないように、Pythonを使ってサーバーの「バックアップ」「復元」「自動再起動」をすべて自動化する方法を、ステップバイステップで解説します!


    1. なぜ「Python」で管理するのか?

    プログラミング言語はたくさんありますが、サーバー管理にはPythonが最適です。

    • 直感的で読みやすい: 初心者でも「何をしているコードか」が理解しやすい。
    • 自動化の道具が豊富: ファイルの圧縮や日付の取得など、便利な機能が標準で揃っています。
    • Ubuntuと相性抜群: Ubuntuには最初からPythonが入っているため、すぐに始められます。

    2. 実装:自動バックアップ&再起動スクリプト

    まずは、サーバーを安全に停止させ、データを保存してからPCをリフレッシュするスクリプトを作成します。

    準備:Pythonスクリプトの作成

    Ubuntuのターミナルで、新しいPythonファイルを作成しましょう。

    nano mc_maintenance.py

    スクリプトの中身

    以下のコードをコピーして貼り付けてください(パスは自分の環境に合わせて書き換えてくださいね)。

    Python

    import shutil
    import datetime
    import os
    import subprocess
    import time
    
    # --- 設定エリア ---
    SERVER_DIR = "/home/user/minecraft_server"  # マイクラのフォルダ
    BACKUP_DIR = "/home/user/backups"           # 保存先フォルダ
    SCREEN_NAME = "mc_server"                   # サーバーを動かしているscreen名
    
    def run_command(command):
        """マイクラのコンソールにコマンドを送る関数"""
        subprocess.run(['screen', '-S', SCREEN_NAME, '-X', 'stuff', f'{command}\n'])
    
    # 1. サーバー内に再起動の通知を出す
    run_command("say 10秒後にメンテナンスのため再起動します!")
    time.sleep(10)
    
    # 2. 安全に停止させる(重要!)
    run_command("stop")
    print("サーバー停止中...")
    time.sleep(30) # 完全に止まるまで待機
    
    # 3. バックアップ実行(zip圧縮)
    today = datetime.datetime.now().strftime('%Y%m%d_%H%M')
    backup_path = os.path.join(BACKUP_DIR, f"world_backup_{today}")
    shutil.make_archive(backup_path, 'zip', os.path.join(SERVER_DIR, 'world'))
    print(f"バックアップ完了: {backup_path}.zip")
    
    # 4. OSごと再起動してメモリをリフレッシュ!
    print("Ubuntuを再起動します。")
    subprocess.run(['sudo', 'reboot'])

    3. Ubuntuの「起動時」にマイクラを自動起動させる

    PCを再起動させても、マイクラが止まったままでは意味がありません。Ubuntuの systemd という機能を使って、「電源が入ったら自動でマイクラを立ち上げる」設定をします。

    設定手順

    1. 設定ファイルを作成:sudo nano /etc/systemd/system/minecraft.service
    2. 「起動時にこのコマンドを打ってね」という指示書を書く。
    3. 登録完了!これで、たとえ停電で落ちても、電気が復旧すれば勝手にサーバーが復活します。

    4. 「cron」でスケジュールを組む

    最後に、このPythonスクリプトを「毎日決まった時間」に動かします。

    crontab -e

    一番下に以下を追記します。

    # 毎日午前4時にメンテナンス実行
    00 04 * * * /usr/bin/python3 /home/user/scripts/mc_maintenance.py

    5. 万が一の「復元(リストア)」方法

    データが壊れた時は、バックアップフォルダにある最新のzipファイルを展開して、元の world フォルダと入れ替えるだけです。これもPythonで「どの日付に戻す?」と聞いてくれるツールを作っておくと、パニックにならずに済みます。

    万が一の時も安心!自動復元(リストア)スクリプト

    バックアップがあるだけでは不十分です。大切なのは、「いつでも、誰でも、正確に」元の状態に戻せることです。

    復元スクリプトの仕組み

    復元を行う際は、以下の手順を正確に守る必要があります。

    1. 現在動いているサーバーを止める(データ競合を防ぐため)
    2. 今の壊れた(または戻したい)ワールドを念のため別名で退避させる
    3. バックアップファイルを解凍して配置する
    4. サーバーを再起動する

    これを手動でやるとフォルダ名を間違えたりしがちですが、Pythonなら一瞬です。

    2. 復元スクリプトのコード例

    新しいファイル mc_restore.py を作成して、以下の内容を記述します。

    Python

    import shutil
    import os
    import zipfile
    
    # --- 設定エリア ---
    SERVER_DIR = "/home/user/minecraft_server"
    BACKUP_DIR = "/home/user/backups"
    WORLD_NAME = "world" # 復元したいフォルダ名
    
    def restore_backup():
        # 1. バックアップ一覧を表示
        backups = [f for f in os.listdir(BACKUP_DIR) if f.endswith('.zip')]
        if not backups:
            print("バックアップが見つかりません。")
            return
    
        print("--- 復元可能なバックアップ一覧 ---")
        for i, file in enumerate(backups):
            print(f"[{i}] {file}")
    
        # 2. ユーザーに番号を選ばせる
        choice = int(input("復元したい番号を入力してください: "))
        target_zip = os.path.join(BACKUP_DIR, backups[choice])
    
        # 3. 現在のワールドを退避(安全のため削除せずリネーム)
        current_world = os.path.join(SERVER_DIR, WORLD_NAME)
        if os.path.exists(current_world):
            old_world = current_world + "_old"
            if os.path.exists(old_world):
                shutil.rmtree(old_world)
            os.rename(current_world, old_world)
            print(f"現在のワールドを {WORLD_NAME}_old に退避しました。")
    
        # 4. ZIPを展開して復元
        with zipfile.ZipFile(target_zip, 'r') as zip_ref:
            zip_ref.extractall(SERVER_DIR)
        
        print(f"【成功】{backups[choice]} から復元が完了しました。")
        print("サーバーを起動して確認してください!")
    
    if __name__ == "__main__":
        restore_backup()
    #実行コマンド
    python3 mc_restore.py

    コマンドを実行すると復元するファイルを選択して復元が始まります。


    まとめ:自作サーバーの醍醐味は「自由」にある

    自作サーバーなら、こうしたカスタマイズは自由自在です。

    最初は「黒い画面(ターミナル)」が怖く感じるかもしれませんが、一つずつ設定をクリアしていく過程は、まるでマイクラで大きな回路を作るような楽しさがあります。 自分だけの「最強のメンテナンスフリーサーバー」を目指して、ぜひ挑戦してみてください!