ゲーム

ARKSurvival あっぷでーとすくりぷと

やー。kirinaです。

今回はARKSurvivalのアップデート実行ファイル(シェル)でも紹介しようかなと。

 

うちのサーバーについて

 

前回までを見てる方は知っての通り、見てない方は知らない情報。

うちのARKサーバーはLinuxで構成されてます。CentOS7。

なので、アップデートかけるのもシェルを組む必要があるんです。

割りとアップデートの情報がなかったので調べて作りました。

 

導入

 

//steamcmd.shと同じ階層にファイル作る
$cd /opt/steam/
$vi update.sh
//こいつのインストールディレクトリをいじって保存。
#!/bin/bash
./steamcmd.sh +login anonymous +force_install_dir /opt/steam/arkdedicated +app_update 376030 validate
:wq

//実行
$./update.sh

大体こんな感じ。

重要な部分は

 

  1. steamcmd.shを介して動かす。

  2. インストールディレクトリを間違わない。

  3. アップデートするビルド番号を間違わない

そんな感じ。

ARK珍百景

フレンドが刺さってたので思わずぱしゃり。

 

ARK Survival Linux鯖がどーたらこーたら take2

どぅーどぅーとぅっとぅるー

ふぉい。kirinaです。

 

前々回のお話…

 

ARKSurvival?とかいう恐竜ゲーが最近出ました。

ついでにLinuxサーバーをSteamCMDを介して作れるそうなのでチャレンジしてみました。

結果から。

失敗した失敗したあたしはしっぱ(ry

と嘆いていましたが、

新しくCentOS7でやり直してみたら割りと簡単に出来ました。

手順的にはあまり変わってないけれど、変わってるとしたらコマンドがちょっと変わった。

 

導入

 

yum install glibc.i686 libstdc++.i686 -y
//難なくGCCが入った。
yum install gcc gcc-c++
//今回は/opt/steamという構成
cd /opt
mkdir steam;cd steam
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
//解凍してうじゃうじゃ
tar -xvf steamcmd_linux.tar.gz
rm -rf steamcmd_linux.tar.gz
//これまた時間がかかる
./steamcmd.sh +login anonymous +force_install_dir /opt/steam/arkdedicated +app_update 376030 validate +quit
cd /opt/steam/arkdedicated/ShooterGame/Binaries/Linux
vi start-server.sh

//こんな感じの内容でスクリプトを作る
!/bin/bash
./ShooterGameServer "TheIsland?listen?Port=27015?QueryPort=27016?SessionName=ServerName?ServerAdminPassword=ServerAdminPass?ServerPassword=ServerLoginPass?" -server -log
//:wqで保存する

ポート開放前準備
CentOSは7から標準ファイアウォールがiptablesじゃなくなった。

//起動しているか確認
firewall-cmd --state
//デフォルトゾーンの確認
firewall-cmd –list-all
//デフォルトゾーンを変更する
firewall-cmd --set-default-zone=dmz
//eth0のNICをdmzに変更
cd /etc/sysconfig/network-scripts/
cp -p ifcfg-eth0 20150704_ifcfg-eth0
vi ifcfg-eth0
//こいつを末尾に追加するか編集して保存
ZONE=dmz

ポート開放

//必要そうなポートをあける
firewall-cmd --permanent --add-port=27015/tcp
firewall-cmd --permanent --add-port=27015/udp
firewall-cmd --permanent --add-port=27016/tcp
firewall-cmd --permanent --add-port=27016/udp
//ファイアウォールの再起動
firewall-cmd --reload

後はいつもの

cd /opt/steam/arkdedicated/ShooterGame/Binaries/Linux

./start-server.sh

エラーがどうたら言われるが、5分かそこら待つと出現する。

 

ss16229 ss16228

 

 

おまけ バックグランドで起動

 

yum -y install screen
vi start-server.sh

//2行目の先頭につける
screen -AmdS ARK

//起動後にフォアグラウンドに戻す
screen -r ARK
//バックグラウンドに移行させる
Ctrl+AのあとD

憂さ晴らしにTerrariaの鯖を作った。

ふぁい。なんかテキスト欄に自分の名前が出てこないkirinaです。

多分投稿したりプレビューすれば出てくると思う。

 

ARKで失敗したので、タイトル通り憂さ晴らしにTerrariaの鯖を作ってみた。

Terrariaの鯖はSteamCMDなんていらないので、楽。

だけど、monoを使ってexeを動かさないといけないので、Linuxとしては微妙に負荷がかかる感じ。

cd /usr/local/src
//落とす 解凍する(今回バージョンは気にしてない)
wget http://download.mono-project.com/sources/mono/mono-3.2.1.tar.bz2
tar xvjf mono-3.2.1.tar.bz2
cd mono-3.2.1
./configure --prefix=/usr/local/src/mono-3.2.1

//テキトーにビルド
make
make install

//本体落とす
wget https://github.com/downloads/TShock/TShock/TShock-4.2.10.zip
unzip TShock-4.2.10.zip
//ポートあける
iptables -A INPUT -p tcp --dport 7777 -j ACCEPT

mono TerrariaServer.exe

後はお好きに。
テラリアサーバーのシャットダウンコマンドはexit

TShockの最新はここで。

 

7/2追記:TerrariaのSteam版最新は1.3系なので、今のTShock版だと最新でも動かない。

 

ARK Survival Linux鯖がどーたらこーたら

ひゃい。kirinaです。

ARKSurvival?とかいう恐竜ゲーが最近出ました。

ついでにLinuxサーバーをSteamCMDを介して作れるそうなのでチャレンジしてみました。

結果から。

失敗した失敗したあたしはしっぱ(ry

失敗しました。

特にgcc glibc関連でしにました。

 

■ひとまず導入


//とりあえずアプデ。

yum update -y

//glibcとlibstdc++をインスコ。基本的に入ってる。

yum install glibc.i686 libstdc++.i686 -y

//ユーザー追加したりログインしたり。

useradd -m steam
su - steam

//SteamCMDダウソ、解凍。

wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz

tar -xvf steamcmd_linux.tar.gz

//いらないので削除。

rm -rf steamcmd_linux.tar.gz

//ark取ってくる(ちょっと時間かかる)

./steamcmd.sh +login anonymous +force_install_dir /home/steam/arkdedicated +app_update 376030 validate +quit

//arkフォルダに移動して実行させる

cd /home/steam/arkdedicated/ShooterGame/Binaries/Linux

./ShooterGameServer TheIsland?listen?SessionName=YourLinuxSessionName?ServerAdminPassword=whateveradminpass -server -log

 

こんな感じ何だけれど、この最後の実行でglibcとgccのバージョン低いぞごらぁ!と怒られる。

gccは何とか更新出来たけど、glibcはCentOS版の最大バージョンを使っているようで、

どうしようもなかった。何か解決策無いかな?