mackierx111’s diary

主にC#, 個人的なメモ

AWSでアセットコルサのサーバーを建てる

はじめに

AWSを使ってアセットコルサのサーバーを建てる方法です。AWS上のEC2(Windows Server 2016)でacServer.exeを起動するまでの手順です。AWSの設定や支払いなどに関しては自己責任でお願いします。

必要なもの
  • クレジットカード(AWSの支払い用)
  • AWSアカウント
  • *\steamapps\common\assettocorsa\serverの中身一式
手順
  1. EC2を構築
  2. RDPで接続
  3. ファイアーウォールの設定
  4. acServer.exeを実行

リージョンを選択 (追記)

リージョンは回線速度に影響します。右上のリージョンタブでインスタンスを建てるリージョンを選択してください。日本でプレイする場合は"東京"を選択しておけばいいでしょう。f:id:mackierx111:20191129192500p:plain

EC2を構築

EC2(インスタンス)はAWSが提供する仮想サーバーです。AWSのコンソール画面からクリックでWindowsLinux等のOSやインスタンスタイプ(CPUやメモリなど)を決めることができます。ここではWindows Server 2016のEC2を用意します。まず、AWSにログインしてマネジメントコンソールを開きます。

  • ①"Services"を選択
  • ②"EC2"を選択

f:id:mackierx111:20190228033041p:plain

f:id:mackierx111:20190228033106p:plain

  • "Windows Server 2016 Base"を選択

f:id:mackierx111:20190228033120p:plain

インスタンスタイプは任意のスペック(スペックを上げれば料金も上がる)でもいいですが、ここでは無料利用枠の対象になっているt2.microを選択します。無料利用枠の対象となっているものはAWSアカウントを作ってから1年間は無料で使用可能です。無料利用枠の詳細はこちら

f:id:mackierx111:20190228033149p:plain

  • "ストレージの追加"を選択

デフォルト設定のままですが任意に変更可。

f:id:mackierx111:20190228033945p:plain

  • "タグの追加"を選択

デフォルト設定のままですが任意に変更可。

f:id:mackierx111:20190228034204p:plain

  • ①"キー"と"値"を入力
  • ②"セキュリティグループの設定"を選択

ここではキーに"Name", 値に"ACServer"を設定しますが必須ではないです。

f:id:mackierx111:20190228034353p:plain

  • ①以下の通りポート開放を設定
  • ②"確認と作成"を選択

画像ではアセットコルサのデフォルトで設定されているポート番号を開放しています。HTTP_PORT + 1のポート番号も開放します。acServer.exeで使用するポート番号(server_cfg.iniのUDP_PORT, TCP_PORT, HTTP_PORTの値)を変更する場合はそのポート番号を開放してください。

f:id:mackierx111:20190228035737p:plain

  • "起動"を選択

f:id:mackierx111:20190228041539p:plain

  • ①任意のキーペア名を入力
  • ②"キーペアのダウンロード"を選択
  • ③"インスタンスの作成"を選択

キーペアのダウンロードを選択すると*.pemファイルをダウンロードします。インスタンスにアクセスする際に必要なので大切に保管しましょう。

f:id:mackierx111:20190228042536p:plain

この画面に遷移するまで少しかかります。

f:id:mackierx111:20190228043226p:plain

作成したインスタンスを確認します。起動するまで少し待ちます。インスタンスの状態が「running」、ステータスチェックが「2/2 のチェックに合格しました」になれば起動完了です。

f:id:mackierx111:20190228044911p:plain

RDPで接続

EC2の構築が完了したらRDPクライアントを使用してリモートデスクトップ接続をします。

f:id:mackierx111:20190228053310p:plain

  • ①キーペア(*.pem)を選択
  • ②"パスワードの復号"を選択

EC2を構築する際に作成した*.pemファイルを指定します。

f:id:mackierx111:20190228053614p:plain

  • "パブリックDNS", "ユーザー名", "パスワード"をメモる

一応、各情報をメモしておきます。メモしたらダイアログを閉じます。

f:id:mackierx111:20190228054147p:plain

f:id:mackierx111:20190228060622p:plain

f:id:mackierx111:20190228061310p:plain

  • ダウンロードした*.rdpを実行

f:id:mackierx111:20190228062900p:plain f:id:mackierx111:20190228063407p:plain

  • ①パスワードを入力
  • ②"OK"を選択

ダイアログが表示されるのでパスワードを入力します。

f:id:mackierx111:20190228064307p:plain

リモートデスクトップ接続に成功するとWindows Serverのデスクトップが開かれます。

f:id:mackierx111:20190228065936p:plain

ファイアーウォールの設定

RDP接続したWindows Serverのファイアーウォールでポート開放の設定をします。

検索バーでfirewallと入力すると出てきます。このツールでサーバーのポート開放を設定することができます。

f:id:mackierx111:20190303033722p:plain

  • ①"Inbound Rules"を選択
  • ②"New Rule..."を選択

f:id:mackierx111:20190303034010p:plain

  • ①"Port"を選択
  • ②"Next"を選択

f:id:mackierx111:20190303034053p:plain

  • ①"TCP"を選択
  • ②ポート開放する番号を入力
  • ③"Next"を選択

ここではHTTP_PORT用に8081, 8082、TCP_PORT用に9600を開放しています。

f:id:mackierx111:20190303034143p:plain

  • ①"Allow the connection"を選択
  • ②"Next"を選択

f:id:mackierx111:20190303034519p:plain

  • ①"Domain", "Private", "Public"を選択
  • ②"Next"を選択

f:id:mackierx111:20190303034648p:plain

  • ①Nameに"ACServer TCP"を入力
  • ②"Finish"を選択

Nameは任意に変更してOKです。これでTCPのポート開放は完了です。

f:id:mackierx111:20190303034735p:plain

今設定したルールが追加されているのを確認できます。

f:id:mackierx111:20190303034943p:plain

UDPに関しても同じ手順で追加します。以下はUDPを設定する際の差分です。

f:id:mackierx111:20190303040029p:plain

f:id:mackierx111:20190303040043p:plain

これでファイアーウォールの設定が完了しました。

acServer.exeを実行

いよいよacServer.exeを実行します。必要なファイルをサーバーにコピーして起動します。

  • "server"フォルダをWindowsServerにコピー

フォルダの場所は *\steamapps\common\assettocorsa\server です。Steamで ライブラリ → Assetto Corsaを右クリック → プロパティ → ローカルファイルを閲覧... で開けます。

f:id:mackierx111:20190303041900p:plain

デスクトップで右クリックして普通に貼り付けられます。

f:id:mackierx111:20190303042628p:plain

  • acServer.exeを起動

コピーが完了したらacServer.exeを起動します。ここからはローカルで鯖建てるときと同じです。

f:id:mackierx111:20190303154043p:plain

f:id:mackierx111:20190303154239p:plain

f:id:mackierx111:20190303154515p:plain

コンソールでOKが確認できれば無事Windows Serverでアセットコルサの鯖建て完了です!鯖の内容に関してはacServerManager.exeで任意に変更してください。

AWSは従量課金制です。使用しない場合は インスタンス右クリック→インスタンスの状態→停止 で停止しておくことをオススメします。こちらを参照してください。

おまけ

  • リモートデスクトップの解像度はオプションからのみ変更可
  • CLIENT_SEND_INTERVAL_HZ上げすぎ注意
  • t2.microで30鯖くらい
  • 複数鯖を起動する場合はその分AWSとファイアーウォールのポート開放することで対応可
  • AWSの料金は Services → 請求 から確認可
  • ACCloudはこれにwebフレームワーク乗っけて*.iniをHTTPで受けて空いてるポートでプロセス起動したもの
  • RDP接続できていたのにできなくなった場合ローカルのIPアドレスが変更された可能性が高いので、再度AWSのセキュリティグループでRDPをマイIPに指定する
  • linuxでもいけるっぽい。大量に建てるならこっちのほうが安いかも steamcommunity.com