TTL's Blog

日々の備忘録てきなblogです。徒然なるままに...

Assetto Corsa Online Server を RaspberryPiをつかってはじめよう【Content Manager 編】

Content Manager Full Version

AssettoServerにて使用するトラック、車両情報などを"Content Manager"を使用し準備します。

 

今更ですが、Content ManagerにてServer設定を行う場合、LiteVersion(無償版)では非常に面倒(らしい)ですので"Full Version"を使用する前提です。

※私は最初から"Full Version"にしちゃったので....

※"Full Version"へ移行する方向などはググってください。

 

assettocorsa.club

Online Serverを立上げ、楽しく遊ぶためにも機能制限のない、"Full Version"へ移行する事をお勧めします。

 

Server 表示設定

Content Managerを起動し "server"を選択します。

標準メニューでは”server”の項目は非表示となっているので、Content Manager設定メニューから”server”表示へチェックマークを入れる事で上段メニューへ"server"が表示されるようになります。

  • “設定 -> コンテントマネージャ" の順に選択
  • "外観" を選択
  • "サーバ"へチェックを入れる

という準備を行う事で画面上部メニューに “サーバ”が表示されます。

 

"Main"

Server 設定

デフォルト設定にて1つサーバサンプル存在している事を確認する。

※Content Managerインストールが正常に行われていないと文字化けや正常に設定を行う事が出来ないのでその場合は一度、全てをアンインストールし心を落ち着けたのちに再度トライする。

※私は何度か再インストールしている際に文字化けではまった....

 

  1. 画面右上 "サーバ"を選択
  2. 画面下"+"(Create a new one)をクリック
  3. 新しいプリセット"SERVER_xx" (xxは自動で附番される)作成
  4. サーバ名を変更 "SERVER_XX -> 独自名称"
    • サーバ名など自由に入力する(半角英数)

    • このサーバ名が公開されるので自分たちで分かりやすいものとする
      • 2バイトコードはエラーとなる可能性が高いので半角英数のみとした方がベターと思われる。(トラブルが怖いので試してはいない...)

トラック選択

"首都高"を想定し設定を進める

"track preview"(上図だと"Imola"が表示されている部分)をクリックする事でトラック選択となる。

  1. "track preview"をクリック
  2. "Shutoko Revival Project 0.9.1"を選択
  3. "Tatsumi PA"を選択。
    • 最初は"芝浦"で考えていたが、日和ったので公式にて記載のある”辰巳PA"とする。
  4. "OK"をクリック

 

Capacity

PIT収容台数値設定

AIなども走行させる為、ひとまず最大である "40"を設定。

※あとから設定ファイルを変更する事も可能なのでまずは数台でもOK

 

パスワード

Online Serverへ参加する際に必要となるパスワードを設定。

空欄の場合は誰でも参加可能となる為、必要に応じて設定

プライベートサーバーとするならばパスワード設定は必須。

 

Admin Password (かなり重要

管理者用パスワード設定を行う。

8文字以上のパスワード設定が必要。(公式

※単純なパスワードは絶対に避ける。(自己責任

※Discordなど見ていると簡易パスワード設定のサーバーはそれなりに狙われている

 

NUM_THREADS

CPUスレッド数の設定を行います。

RaspberryPi 3B+は4コアとなっているので、"4"を設定

※RaspberryPi 3B+ のコアは 1コア/1スレッド となっている。

※今時のCPUにて1コアにて複数スレッドが動作する場合はそのスレッド数を設定

※簡単にソースコードを見ただけだと使われていない雰囲気もあるのだが???

 

Port設定

デフォルトのまま変更しない事。(重要

 

Custom Shaders Patch

一度、"Auto-fill"をクリックする事で"Minimum version"が自動設定される。

"Reequire CSP to join"へチェック

 

"ENTRY LIST"

※AIも含め走行可能な車種は先の"Capacity"に依存していると思われます。

※肌感覚なので詳細は調査していないが、車種登録数をCapacity以上で設定すると何処かでエラーとなったはず...

※公式ビギナーズガイドにてpit数以上に車両登録を行うとゲームがクラッシュするとの表記があるので、pit数以下の登録とすること

---

”Only add as many cars to the entry list as there are pits available for the track and layout you've chosen.
Ignoring this limit will result in the game crashing when joining the server.”

---

自車として使用する車両、AIとして使用する車両をCapacityで指定した数分選択します。

※車種のスキンなども個別に選択する必要があります。それらも1車両として登録されます。

※自車、AI車は後で設定します。

  1. "+"(追加)をクリック
  2. 車両選択
  3. "Add"(追加)をクリック
  4. 台数分繰り返し。

 

 

"RULES"

サーバー走行ルールを決定します。

好きに設定して頂ければOKです。

  • 燃料消費:ゼロ
  • ダメージ:ゼロ
  • タイヤ摩耗:ゼロ

 

"CONDITIONS"

コースコンディションの設定を行います。

TIME : コースの時間 ※管理者はchatを使用し変更可能なので適当でOK

 

公式参考設定



 

天候

"WeatherFX"項目の右端のドットをクリックする事で時間や日時変更を行う事が出来ますが、AssettoServerでは動作しないので設定を行わないでください。

 

"SESSIONS"

AssettoServerにて走行する際には"Practice"(練習)のみ有効とする必要があります。

  • "Pickup mode" へチェック
    • "locked entry list in pickup mode"のチェックを外す
  • "loop mode" へチェック
  • "Practice"(練習)へチェック
    • Timeを1~2時間など適当な時間を設定
    • 直接入力にて長時間を設定するとバグる可能性あり
  • 以下の項目のチェックを外す
    • "Booking"(予約)
    • "Qualification"(練習)
    • "Race"(レース)



 

 

保存(save)

画面下にある"保存"(Save)をクリックする事でデータ保存が行われます。

長かった....やっとここまで来た...

 

Online Serverとして使用する元データが一先ず完成しました。

このデータをRaspberryPiへCopyする事でOnline Server用のデータがそろいます。

 

"車両情報変更"

"ENTRY LIST"にて使用する車両選択を行いましたが、ユーザーが使用する車両、AIが使用する車両を設定する必要があります。

 

1. データフォルダを開く

画面下の"フォルダ"をクリックする事で先ほど"Save"を行ったフォルダが開きます。

 

"entry_list.ini"ファイルをメモ帳などで開きます。

※今後もファイル操作を行うことが多々ありますのでエディタを必要に応じてインストールしておいたほうが良いと思います。

※無償で使用できるエディタは沢山ありますが、Microsoft から提供されている"Visual Studio Code"が機能豊富であり使いやすいと思いますので参考に...

azure.microsoft.com

と、話がずれましたがファイルを開くと[CAR_x]という項目と共に先ほど選択した車両情報が記載されていることが確認できると思います。

各車両情報の最後の所へ"AI=xxxx"という1行を追加していきます。

xxxx部分は以下の3種類を記述します。

  • none : ユーザーが使用
    • online serverへ参加するユーザーが選択可能となります。
  • fixed : AI専用
    • AI専用の車両となります。
    • ユーザーは選択不可
  • auto : ユーザー / AI 共用
    • AIが車両を使用していない状態であればユーザーが選択可能。

この情報をすべての車両に対して行います。

Content Managerが生成した"entry_list.ini"にはこの1行は記載されてませんので、このままサーバーを動かすと全てがユーザー用となるため、AI車両が1台も走らない事になります。

 

下図の感じになります。

全車両に対して追記が完了したら保存してファイルを閉じます。

 

 

"Pack"

データはPC内に保存されてますので、RaspberryPiへ転送するためのデータ生成を行います。

  • "Pack"と表記されている右側の"▼"をクリック
  • "オプション"をクリック
  • "Linux(64-bit)を選択
  • "Pack"をクリック

 

 

 

保存先などのウィンドウが表示されますので確認を行い、"保存(S)"をクリックします。

 

 

これで使用する車両データおよびOnline用の設定データがパックされました。

このデータをRaspberryPiへ転送します。

 

"データ転送"

先でパックした圧縮ファイル (tar.gz)をRaspberryPiとSSH接続しているTeraTermドラッグアンドドロップします。

 

 

データ転送先を聞かれますので

"/home/<user名>/ACS/SRP"を指定します。

※<user名>は各環境のものに書き換える事



SSHコンソールにてディレクトリを移動します。(念のため

cd ~/ACS/SRP

 

ファイルを解凍します

tar zxvf xxxx.tar.gz (ファイル名はPackした圧縮ファイル名)

 

 

ymlファイル

AssettoServer , トラック、車両情報などがRaspberryPiにそろいましたが...

まだServerは立ち上がりません。

cfgフォルダ内に"yml"ファイルが存在していないので生成する必要があります。

 

生成

現在"SRP"フォルダにいるはずですが...

不安な人は以下のコマンドを実行し"SRP"フォルダへ移動

cd ~/ACS/SRP

 

"AssettoServer"を一度実行する事で"yml"ファイルが生成されます。

./AssettoServer<リターン>

"yml"ファイルが無いので、エラーが出て止まりますが焦らずです。

 

確認

ymlファイルが生成されたか確認します。

ls -l cfg<リターン>

 

"extra_cfg.yml"ファイルが存在していれば一安心です。

ファイルサイズが "ゼロ"でない事も確認します。

※稀にファイルは生成されても中身が無い場合あり。

 

ファイルサイズが"ゼロ"だった場合

サーバー起動時にErrorとなります。※他の要因の場合もあるけど...

実際ファイルサイズが "0"だった時があるので備忘録

"extra_cfg.yml"ファイルを一度削除し再度AssettoServerを実行しymlファイルを生成します。

  • rm cfg/extra_cfg.yml <リターン>
  • ./AssettoServer <リターン>

再度上記 "ls -l cfg"を行いファイルサイズを確認してください。

 

後は"AI"ファイルを入れれば基本的にはサーバーの準備は完了です。

 

AIデータ

AIデータ・ダウンロード

Discord "Shutoko Revival Project" #ai-spline-disussionにてcompuさんが公開しております。 #ai-spline-releases

 

#ai-spline-disussionは他のAI情報も公開されてます。

channelの先頭付近なので、頑張って先頭までページを進めます。

 

 

 

"fast_lane.aip"をダウンロードします。

 

AIデータ保存用フォルダ作成

サーバ側にAIデータ保持用のフォルダを作成します。

ssh端末からフォルダ作成を行います ※階層が深いのでちょっと注意。

"pack"されたデータを展開しているので、ざっくり以下のような階層となってます。

グレーアウトしている"ai"と書いてあるフォルダを作成する事となります。

 

 

次のコマンドを叩いてディレクトリを作成します。

mkdir ~/ACS/SRP/content/tracks/csp/shuto_revival_project_beta/ai

 

AIデータ・コピー

フォルダが作成できましたので、AIデータをコピーします。

 

もう慣れましたよね。

いつものウィンドウが表示されますんおで、

送信先へ先ほど作成したパスを入力します。

/home/<user名>/ACS/SRP/content/tracks/csp/shuto_revival_project_beta/ai

"OK"をクリック

 

 

Sever起動

Online Serverの準備は整いました。

一度起動してみましょう。

 

ssh端末より以下のコマンドを実行します。

./AssettoServer 

初期起動はちょっと時間がかかりますが、じっくり待ちます。

正常に起動できれば"Lobby registration successful"が表示されます。



 

Content Manager

"ドライブ" -> "LAN"を選択

 

online serverが見えるとサーバー情報が表示されます。

  • 画面右下の「リフレッシュ」を一度クリック
  • 車両選択
  • 「参加」が緑となっていれば一先ずOK

実際に「参加」をクリックしレースができるか確認

 

ここまで出来れば、あとはインターネット側の設定をどうにかすればOnlineができます。

 

長かった...

 

ひとまず完了