ConanExilesのサーバーの自動更新プログラムについて

 どうもJunJunGamesです
2018年1月から停止していたConanサーバーをついに再稼働する事になりました。
 まずは、ご利用できなかった方々に深くお詫び申し上げます。
「ご迷惑をお掛けし、申し訳ございませんでした」
とは言っても、無料公開しているので、モチベーションが上がらないのが事実です・・・
 が!しかし、自動更新プログラムを作成する事ができました。

Linuxエンジニアとして、3年離れていたが・・・

 実際、Linuxエンジニア(WindowsServerもさわれるが)に7年間携わっており、中級クラスの知識はあるつもりでいたのですが、3年間も離れると忘れていることが多くて、時間がかかりました。(って言うても動作検証も含めて4時間くらいですが)

実際の自動更新プログラム

下記の内容が実際のシェルスクリプトです。

#!/bin/sh
# Conanの自動更新プログラム

# 3日間隔で起動すること
T_NAME=`date +’%Y%m%d’`

echo “保存用のディレクトリを作成します”
mkdir /home/steam/GameServer/ConanExiles/$T_NAME

echo “サーバーを停止します”
# Conanサーバーを停止
ps aux | grep ConanSand* | grep -v grep | awk ‘{ print “kill -9”, $2 }’ | sh

echo “既存のディレクトリ名を変更する”$T_NAME
# ディレクトリ名の変更(既存サーバーのディレクトリ名を変更する)
mv /home/steam/GameServer/ConanExiles/New /home/steam/GameServer/ConanExiles/$T_NAME

echo “新規のNewディレクトリを作成”
# ディレクトリの作成
mkdir /home/steam/GameServer/ConanExiles/New

echo “指定したディレクトリにサーバープログラムをダウンロード(更新)”
# 指定したディレクトリにサーバープログラムをダウンロード(更新)
steamcmd +@sSteamCmdForcePlatformType windows +force_install_dir /home/steam/GameServer/ConanExiles/New +login anonymous +app_update 443030 validate +quit

echo “サーバーのテスト起動(起動しないとディレクトリ及びファイルが作成されない)”
# サーバーのテスト起動(起動しないとディレクトリ及びファイルが作成されない)
xvfb-run –auto-servernum –server-args=’-screen 0 640x480x24:32′ wine /home/steam/GameServer/ConanExiles/New/ConanSandboxServer.exe -log & sleep 5m ; ps aux | grep ConanSand* | grep -v grep | awk ‘{ print “kill -9”, $2 }’ | sh

echo “データ移行1(セーブデータ)”
# データ移行1(セーブデータ)
cp-r /home/steam/GameServer/ConanExiles/$T_NAME/New/ConanSandbox/Saved/* /home/steam/GameServer/ConanExiles/New/ConanSandbox/Saved/

echo “データ移行2(コンフィグデータ)”
# データ移行2(コンフィグデータ)
cp -r /home/steam/GameServer/ConanExiles/$T_NAME/New/ConanSandbox/Config/* /home/steam/GameServer/ConanExiles/New/ConanSandbox/Config/

echo “サーバー起動する”
xvfb-run –auto-servernum –server-args=’-screen 0 640x480x24:32′ wine /home/steam/GameServer/ConanExiles/New/ConanSandboxServer.exe -log -MaxPlayers=70 -Port=7777 -QueryPort=27015 &

作った経緯とは・・・

 バージョンアップを手作業で行っていたのですが、あまりにも自分の時間を割かれるので、「自動化してしまえ」と常々検討していた結果、重い腰があがり作成しました。

内容については、次回に説明します。

 このブログラムを個別環境に置き換える事が出来れば、Steamが提供しているサーバープログラムで使いまわしができます。
 次回、細かく説明していきますので、見てください!!!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください