LoginSignup
4
0

More than 1 year has passed since last update.

こんにちは!GxPの肥後です
この記事はグロースエクスパートナーズ Advent Calendar 2022 17日目です!
今回はARKというゲームがやりたく、勉強もかねてクラウドでゲームサーバーを構築してみました!

ARKとは?

ARK: Survival Evolvedと名前で恐竜のいる島に裸一貫から始まるオープンワールドのサバイバルゲームです
配信者がやっているのを見て自分も友人たちと遊びたかったので、みんなで遊べるようにサーバーを構築します!

GCPを選んだ理由

  • 初回登録を行えば300ドルのクレジットが無料で付いてくる
  • プリエンプティブを有効にすることで大幅な割引がつく

使うサービス

  • GCE (Google Compute Engine)
  • VPCネットワークのファイアウォールルール

GCE構築

まずはGCPコンソールからCompute Engine > VMインスタンスの項目を選択し、インスタンスを作成しましょう
以下はインスタンス作成画面
スクリーンショット 2022-11-27 131117.png

名前は自由に決めてもらってリージョンやゾーンは好きなところで良いのですが
費用を節約したいのでアメリカにサーバーを作ろうと思います
CO2マークがついててECOそうなのでオレゴンを選択しました
マシンタイプは1人でやるならメモリ8GB程度で良いと思います

OSはUbuntu 18.04 LTSを使用するのでブートディスクからOSイメージを変更しましょう!
またディスク容量は100GBに変更します
画像は10GBになってます
スクリーンショット 2022-11-27 131758.png

次は可用性ポリシーでVMプロビジョニングモデルをスポットに選択します
インスタンス作成画面の下に行くと詳細オプションで色々閉じているものがありますが
管理を押下して展開し以下の画像のように設定します
スクリーンショット 2022-11-27 132059.png

これでプリエンプティブを有効にできたので大幅な割引を得られます
24時間常用したい場合は【標準】で設定してください
この設定を行い月間予測を見てみるとめちゃくちゃ割引されていますね!!!
10GBの設定ですが100GBだと$28くらいになります!
スクリーンショット 2022-11-27 132415.png

サーバー構築

インスタンスを起動してSSHで接続します
まぁ、まずはおまじない

sudo apt-get update && sudo apt-get upgrade

ASMはsteamユーザーで動かすことが前提となっているようです
※ARK Server Manager(ASM)とは 公式サイトから引用

通称ASM、Windows版のみですがSteamCMDで必要になる各種設定ファイルの膨大な記述をGUIにより行うことが可能です

というわけで、ユーザー作成を行います

sudo useradd -m steam

steamユーザーをsudoグループに登録

sudo usermod -G sudo steam

ユーザー切り替え
これは飛ばしてもよいです
steamユーザーのホームディレクトリに入りそこに必要なものをインストールできればOKです

sudo -u steam bash

CUI環境でGUIソフトを起動したいのであればi386 アーキテクチャのパッケージが必要らしいです
以下コマンド

sudo dpkg --add-architecture i386

次のコマンド

sudo apt-get install lib32gcc1

インストールが終われば以下を実行

sudo apt-get update

この後にSteamを入れましょう!

sudo apt-get install steam

利用規約に同意する画面がでると思いますので同意します
次はSteamCMDをインストールです!

sudo apt-get install steamcmd

インストール完了後
arkserverをのディレクトリを作ります

mkdir arkserver

ASMをインストール

curl -sL http://git.io/vtf5N | sudo bash -s steam

これでサーバー構築は完了です!
あとはゲームの設定をして起動するだけですね
その設定は割愛します

ポート開放

起動する前に必要なことがあります
それはポート開放です!!!!
ufwコマンドで実施してもよいのですが、
22番ポートを開け忘れるととんでもないことが起きますね

そういう設定をGUIで行えるVPCネットワークという便利なサービスがGCPにあるわけです
やってみましょう!!
VPCネットワーク > ファイアウォールルール > ファイアウォール ルールの作成
スクリーンショット 2022-11-27 140756.png

ターゲットタグには【ark】とつけときましょう
ネットワーク上のすべてのインスタンスにすると後述する設定が不要になります
これでARKのファイアウォールルールだよということが分かりやすくなりますね
IPv4範囲ですがこれは0.0.0.0/0にします
来る者拒まず去る者追わずてきなことにしておきます
複数人でやる人が決まっているならそのIPにしても良いと思います
こんな感じで作成します
スクリーンショット 2022-11-27 143730.png

開放しているポートはゲーム側が初期設定を用意してくれているのでそれを指定します
このファイアウォールルールを作成したVMインスタンスに適用させなければなりません
GCEに行きVMインスタンスを編集しましょう
そこでネットワークタグという箇所がありますので、【ark】を設定し保存します
スクリーンショット 2022-11-27 144013.png

サーバー起動

これで準備は整いました
SSHしたVMインスタンスで以下コマンドを実行しましょう

sudo arkmanager start

5分か10分ほど待つとサーバーが起動し入れるようになります

感想

トリケラトプスを捕獲して一緒に島を駆け回ったり
強力なボスがいるので、ティラノサウルス10体くらい引き連れて戦いにいったり
プテラノドンで空をとぶことだってできます!
ぜひこの機会にサーバーを構築してARKを遊んでみてください!

最後に

ARKが遊びたくて構築しましたが色々やりたいことはたくさんあります
VMを起動した時点でASM起動をさせたりMAPごとに環境を分けて構築したりと
Terraformを使って構築すると楽になるとと思いますので、それもやってみたいと思っています

4
0
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
0