【Valheim】のLinuxサーバー(CentOS)を建てる。
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

【Valheim】のLinuxサーバー(CentOS)を建てる。

2021-02-12 20:31

    例によって、ConohaVPSでサーバーを建てた時のメモ書きです。
    自分用のメモなので、まったく整理されないです。

    ◆補足1
    Valheimの個人サーバーを建てたくて、検索で辿り着てしまった人は
    ちゃんと書いてある、下記を見たほうがよいです(*‘ω‘ *)

    ◆補足2
    Gポータルさんで、サーバーレンタル出来るみたい!
    そっちの方が楽だし、お得だね('Д')
    https://www.g-portal.com/jp/gameserver/valheim-server-hosting

    ※但し、日本の枠は売り切れてた(*´з`)
     追加に期待!



    (@chiisanwo様)
    https://qiita.com/chiisanwo/items/6b916613546180792c7b

    ---------------------------------------------

    『以下自分用のメモ』
    チラシの裏の走り書きみたいなもの。

    ★初期設定

    ※ユーザー名は任意
    # useradd user
    # passwd user
    Changing password for user 任意の名前
    New password:任意のパスワード
    Retype new password:任意のパスワード
    passwd: all authentication tokens updated successfully.


    ・その後、一般ユーザーでログインする!(TeraTarm等から)

    sudoを設定する
    ConoHaのVPSのテンプレートイメージCentOS7では初期状態で
    「wheel」グループに所属している一般ユーザーはsudoを利用できるようになっています。
    一般ユーザーを「wheel」グループへ所属させるには下記のコマンドを入力します。

    # usermod -G wheel [所属させるユーザー名]
    # exit
    $ sudo (何らかのコマンド) ←コマンドテスト(rebootなど)
    [sudo] password for 任意のユーザー名:ログインユーザーパスワード
    ※再接続してから試す

    公開鍵の設定(下記URLをみてやる)
    https://support.conoha.jp/v/addusersshkey/?btn_id=guide-vpsstartup_v-addusersshkey


    ・SSHのポート番号を変更

    sshdだけでなくiptablesにも設定変更が必要なので注意。
    CentOS7はデフォルトでiptablesサービスが入っていないのでまずインストール


    $ sudo yum install iptables-services


    /etc/sysconfig/iptables を編集。

    su
    vim /etc/sysconfig/iptables

    -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 47777 -j ACCEPT ←追記


    iptablesサービスを再起動します。
    $ sudo service iptables restart


    sudo vi /etc/ssh/sshd_config を編集。
    Port 22
    Port 47777


    $ sudo service sshd restart


    自動起動も設定しておきましょう。
    (ルーティングにiptablsなのでfirewalldを停止する必要があることに注意)
    $ sudo systemctl stop firewalld.service
    $ sudo systemctl mask firewalld.service
    $ sudo systemctl enable iptables.service


    TeraTarmから47777でログイン出来るのを確認したら、22は塞ぐ
    sudo vi /etc/ssh/sshd_config を編集。
    #Port 22
    Port 47777

    vim /etc/sysconfig/iptables

    #-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT ←コメント化
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 47777 -j ACCEPT 


    sudo service sshd restart

    ・ポート解放

    [ipテーブル]
    iptables -I INPUT 5 -p tcp -m tcp --dport 2456 -j ACCEPT
    iptables -I INPUT 5 -p tcp -m tcp --dport 2457 -j ACCEPT
    iptables -I INPUT 5 -p tcp -m tcp --dport 2458 -j ACCEPT
    iptables -I INPUT 5 -p udp -m udp --dport 2456 -j ACCEPT
    iptables -I INPUT 5 -p udp -m udp --dport 2457 -j ACCEPT
    iptables -I INPUT 5 -p udp -m udp --dport 2458 -j ACCEPT
    service iptables save
    cat /etc/sysconfig/iptables
    iptables -L


    ・yumを最新にする。
    ※rootかsuで実行
    yum -y update


    ・下記を実施
    (64bitOSで32bitのCMDを使用するために必要)
    ※rootかsuで実行
    yum -y install curl wget bzip2 gzip unzip python screen gcc glibc.i686 libstdc++.i686 ld-linux.so.2 zlib.i686 libstdc++.so.6


    ・steamCMDを入れる
    mkdir -p ~/Steamcmd ~/steam-server/match

    CMDディレクトリに移動
    cd ~/Steamcmd

    CMDのインストールコマンド
    ※rootかsuで実行
    curl -sqL "http://media.steampowered.com/installer/steamcmd_linux.tar.gz" | tar zxvf -

    ./steamcmd.sh

    「steamCMD」を起動
    ※rootかsuで実行
    ./steamcmd.sh

    アンノンでログイン
    login anonymous

    インストールディレクトリを指定する。
    force_install_dir /home/user/valheim/match/

    【バルヘイムサーバー】 896660をインストールする
    app_update 896660 validate
    exit


    ・ローカルのワールドデータを移行する
    Windowsでプレイしていた場合、おそらくワールドのデータはC:\Users\[ユーザー名]\AppData\LocalLow\IronGate\Valheim の中にあります
    中身をまるっと移行先のサーバーにアップロードしてください


    サーバー側のディレクトリには下記で移動する。
    cd ~/.config/unity3d/IronGate/Valheim


    zipに固めてから、TeraTarmの画面にドロップ(ユーザー配下に入るので)
    cd /home/任意のユーザー
    mv Valheim.zip ~/.config/unity3d/IronGate

    初期設定のサーバーをバックアップしとく
    cp -fr Valheim cp_valheim

    解凍と削除
    unzip Valheim.zip
    rm -fr Valheim.zip


    ・ゲームの起動スクリプトを編集してワールドやパスワードを設定します

    起動スクリプトからサーバー名と、パスワードなどを設定する。
    お好みのエディタで を更新する・・・・
    vim start_server.sh


    export templdpath=$LD_LIBRARY_PATH
    export LD_LIBRARY_PATH=./linux64:$LD_LIBRARY_PATH
    export SteamAppId=892970

    # Tip: Make a local copy of this script to avoid it being overwritten by steam.
    # NOTE: Minimum password length is 5 characters & Password cant be in the server name.
    # NOTE: You need to make sure the ports 2456-2458 is being forwarded to your server through your local router & firewall.

    ./valheim_server.x86_64 -name "MyServer(サーバーリストでの表示名)" -port 2456 -world "Dedicated(使用するワールド)" -password "hogehoge(6文字以上らしい)" -public 1 > /dev/null &

    export LD_LIBRARY_PATH=$templdpath

    echo "Server started"
    echo ""
    read -p "Press RETURN to stop server"
    echo 1 > server_exit.drp

    echo "Server exit signal set"
    echo "You can now close this terminal"
    8行目の""で囲っている部分をご自身の環境に合わせて変更してください
    ※ローカルから引き継ぐ場合は多分、-world "Dedicated(使用するワールド)"の部分は、ローカルで作ったWorld名じゃきゃダメです。


    (コメント訳)
    サーバーアプリを更新する際にスクリプトファイルが上書きされる可能性があるので、余所にコピーをとっておきましょう
    パスワードは5文字以上でサーバー名と同じにはできません



    ・ゲームサーバーを起動します
    cd /home/user/valheim/match/
    $ ./start_server.sh

    ・サーバーを止めたい時
    TeraTarm上にカーソルを合わせてクリック
    エンター等を押して、エンター等を押して改行(入力確認)
    その後、キーボード操作でCtrl+C(同時押し)でサーバークライアントが終了する。
    若しかしたら、exitとかquitの入力でも止まるかも?


    ・sshを切断してもサーバーの実行を続けたい or バックグラウンドで実行したい場合は
    次のコマンドでゲームサーバーを起動します
    cd /home/user/valheim/match/
    nohup ./start_server.sh &


    ・サーバー側のアプリアップデートについて
    ※ start_server.shなどが上書きされるため事前にバックアップをとっておきます。

    cd ~/Steamcmd

    「steamCMD」を起動
    ※rootかsuで実行
    ./steamcmd.sh

    アンノンでログイン
    login anonymous
    force_install_dir /home/user/valheim/match/

    app_update 896660 validate

    exit







    広告
    コメントを書く
    コメントをするには、
    ログインして下さい。