4
1

More than 1 year has passed since last update.

Oracle CloudのA1インスタンスでArk Serverを建てる

Last updated at Posted at 2022-11-14

用意するもの

  • Oracle CloudのA1インスタンス
    • OS: Ubuntu

手順

事前準備

  1. インストール済みのパッケージをアップデートする

    sudo apt update; sudo apt full-upgrade -y
    
  2. 必須パッケージをインストールする

    sudo apt install -y git build-essential cmake
    

box86をインストール

  1. ホームをカレントディレクトリにする

    cd ~
    
  2. box86のプロジェクトをクローンする

    git clone https://github.com/ptitSeb/box86
    
  3. 32bitのアーキテクチャを追加する

    sudo dpkg --add-architecture armhf
    
  4. パッケージリストを更新する

    sudo apt update
    
  5. 必須パッケージをインストールする

    32bit版のパッケージをインストールするように気をつける。

    sudo apt install -y gcc-arm-linux-gnueabihf libc6:armhf libncurses5:armhf libstdc++6:armhf
    
  6. box86のプロジェクトに移動する

    cd ~/box86
    
  7. buildフォルダを作成、移動する

    mkdir build; cd build
    
  8. box86をビルドする

    しばらく待つことになる。
    64bit OSの場合、for Raspberry Pi on 64bit OSを使用する。

    cmake .. -DRPI4ARM64=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo; make -j$(nproc)
    
  9. ビルドしたbox86をインストールする

    sudo make install
    
  10. systemd-binfmtサービスを再起動する

    sudo systemctl restart systemd-binfmt
    

    サービスの再起動中にエラーが発生する場合はVMを再起動する。

    sudo reboot
    

box64をインストール

  1. ホームをカレントディレクトリにする

    cd ~
    
  2. box64のプロジェクトをクローンする

    git clone https://github.com/ptitSeb/box64.git
    
  3. box64のプロジェクトに移動する

    cd ~/box64
    
  4. buildフォルダを作成、移動する

    mkdir build; cd build
    
  5. box64をビルドする

    しばらく待つことになる。
    公式のfor Other ARM Linux platformsでビルドする。

    cmake .. -DARM_DYNAREC=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo; make -j$(nproc)
    
  6. ビルドしたbox64をインストールする

    sudo make install
    
  7. systemd-binfmtサービスを再起動する

    sudo systemctl restart systemd-binfmt
    

    サービスの再起動中にエラーが発生する場合はVMを再起動する。

    sudo reboot
    

pip3でアップデートを実行

  1. pip3をインストール

    sudo apt install python3-pip
    
  2. pip3をアップデート

    sudo pip3 install --upgrade requests
    

steamCMDをインストール

  1. steamCMDをインストールするディレクトリを作成する

    mkdir ~/steamcmd; cd ~/steamcmd
    
  2. steamCMDのインストール用スクリプトをダウンロードする

    curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
    
  3. steamCMDのインストール用スクリプトを実行する

    ./steamcmd.sh +quit
    

Ark Serverを設定する

  1. arkのインストールディレクトリを作成する

    mkdir -p ~/ark_server
    
  2. steamCMDのインストールディレクトリに移動する

    cd ~/steamcmd
    
  3. Arkのデータをダウンロードする

    ./steamcmd.sh +force_install_dir ~/ark_server +login anonymous +app_update 376030 validate +quit
    
  4. Ark Serverの起動スクリプトを作成する

    cd ~/ark_server/ShooterGame/Binaries/Linux/
    vi start.sh
    
    #! /bin/bash
    MAP="Fjordur"
    SERVERNAME="Ark Server"
    MAXPLAYERS="70"
    SERVERPW=""
    ADMINPW=""
    PORTGAME="7777"
    PORTQUERY="27015"
    RCONON="true"
    PORTRCON="27020"
    RCONPW=""
    
    screen -DmS ark ./ShooterGameServer $MAP?listen?SessionName="$SERVERNAME"?MaxPlayers=$MAXPLAYERS?ServerPassword=${SERVERPW}?ServerAdminPassword=$ADMINPW?Port=$PORTGAME?QueryPort=$PORTQUERY?RCONEnabled=$RCONON?RCONPort=$PORTRCON?PreventDownloadSurvivors=False?PreventDownloadItems=False?PreventDownloadDinos=False?PreventUploadSurvivors=False?PreventUploadItems=False?PreventUploadDinos=False?noTributeDownloads=False -nosteamclient -server -log
    
    chmod +x start.sh
    
  5. サービスとして設定する

    sudo vi /etc/systemd/system/ark-dedicated.service
    
    [Unit]
    Description=ARK: Survival Evolved dedicated server
    Wants=network-online.target
    After=syslog.target network.target nss-lookup.target network-online.target
    
    [Service]
    Group=ubuntu
    User=ubuntu
    ExecStartPre=bash /home/ubuntu/steamcmd/steamcmd.sh +login anonymous +force_install_dir /home/ubuntu/ark_server/ +app_update 376030 +quit
    ExecStart=bash /home/ubuntu/ark_server/ShooterGame/Binaries/Linux/start.sh
    WorkingDirectory=/home/ubuntu/ark_server/ShooterGame/Binaries/Linux
    LimitNOFILE=100000
    ExecReload=/bin/kill -s HUP $MAINPID
    ExecStop=/bin/kill -s INT $MAINPID
    
    [Install]
    WantedBy=multi-user.target
    
  6. サーバーを起動する

    sudo systemctl daemon-reload
    sudo systemctl start ark-dedicated.service
    
  7. サーバーを停止する

    sudo systemctl stop ark-dedicated.service
    
  8. 設定を変更する

    以下のディレクトリにあるGameUserSettings.iniGame.iniを編集する

    cd ~/ark_server/ShooterGame/Saved/Config/LinuxServer
    
  9. サーバーを起動する

    sudo systemctl start ark-dedicated.service
    

Modを導入する場合

  1. サーバーを停止する

    sudo systemctl stop ark-dedicated.service
    
  2. ark-server-toolsをインストールする

    curl -sL https://git.io/arkmanager | sudo bash -s ubuntu
    
  3. arkのインストールディレクトリを指定する

    arkserverroot/home/ubuntu/ark_serverを指定する

    sudo vi /etc/arkmanager/instances/main.cfg
    
    arkserverroot="/home/ubuntu/ark_server"    # path of your ARK server files (default ~/ARK)
    
  4. modをインストールする

    arkmanager installmod <mod id>[,<mod id>[,…​]]
    
  5. 設定を変更する

    ActiveModsに有効化するModのIDを指定する

    vi ~/ark_server/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini
    
    ActiveMods=<mod id>[,<mod id>[,…​]]
    
  6. サーバーを起動する

    sudo systemctl start ark-dedicated.service
    

サーバーに接続する

  1. steamの「表示」-「サーバー」を開く
  2. 「サーバーを追加」を押す
  3. <IPアドレス>:<ポート番号>になるように入力する
  4. 「このアドレスをお気に入りに追加」を押す
  5. Arkを起動する
  6. サーバー検索で「お気に入り」を選んで自分のサーバーを表示する
  7. 接続して楽しむ

参考

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1