タグ: Craftpia

  • 【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環境での構築は一見難しそうですが、一度設定してしまえばメンテナンス性は抜群です。

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