Linux上のEuro Truck Simulator2とAmerican Truck Simulatorの動作

Last modified: 2021-07-21

前提条件

  • Euro Truck Simulator2(ETS2)とAmerican Truck Simulator(ATS)の片方または両方を購入し、Steamのアカウントに登録済み
  • x86_64またはx86のGNU/Linuxを使用
  • Direct3D 9世代かそれ以降のGPUを使用

メーカーのサイトではWindows用の体験版が配布されており、後述するように、WineやProtonでは特に設定を行わなくても動作するため、興味があるのであればダウンロードして試してみるとよい。

ETS2/ATSのLinuxネイティブ版とWindows版

Linuxネイティブ版

  • GNU/Linux向けにビルドされているネイティブアプリケーション
  • Linux版SteamクライアントからインストールされるETS2やATS
  • マルチプレイヤーMOD “TruckersMP” には非対応
    • 標準搭載の “コンボイ” 機能でマルチプレイヤーで遊ぶことは可能
  • バージョン1.41時点では描画バックエンドはOpenGLのみ

Windows版

  • Windows向けにビルドされ、x86_64やx86のGNU/LinuxではWineやProtonで動かせる
  • Windows用のSteamクライアントをWindowsやWineで動かしてETS2やATSをインストールするとこれがインストールされる
  • マルチプレイヤーMOD “TruckersMP” に対応
  • バージョン1.41時点ではDirect3D 11とOpenGLの描画バックエンドがある
    • 以前はDirect3D 9とOpenGLだった

マルチプレイヤーMOD “TruckersMP” (ETS2MP/ATSMP)

TruckersMPのマルチプレイヤー

  • 少人数で遊ぶ “コンボイ” とは異なり、サーバに多数のユーザがログインして同期する形
  • コンピュータにより運転される他の車は現れなくなり、代わりに他のプレーヤの車が道路を走るようになる
    • 他のプレーヤが少ないエリアでは道路がガラガラになり、混雑する場所では渋滞が発生することもある
    • 近くにいる他のプレーヤはカーナビの地図上に色の付いた丸で表示される他、map.truckersmp.comのようなサイトでプレーヤの位置や交通量、ログイン人数などを確認することもできる
    • 画面上で他のプレーヤのそばにプレーヤ名とそのプレーヤにサーバから割り当てられている番号1が括弧内に表示される
    • Tabを押すと自分の近くにいるユーザ一覧がウィンドウに表示され、マウス右クリック(独自のマウスポインタが出て再度右クリックで消える)後のマウス操作で、マウスカーソルが出ている間にこのウィンドウに対する操作を行うことができる
      • ここからプレーヤの通報を行うこともできるが、確実ではない2
  • “Arcade” が名前に含まれるサーバを除いて、他プレーヤの車と接触すると衝突する判定があり、両方のプレーヤの車体にダメージが入る(プレーヤどうしでの事故が起こりうる)
  • 停まったまましばらく移動しない・夜間にライトを点けないなどの条件を満たすとサーバから強制ログアウト(キック)される
  • 乗用車の運転
    • トラックディーラーでトラックより安価な乗用車が購入でき、トラック用貨物の代わりにCaravan(キャンピングトレーラー)を牽引して配送を行える(乗用車の使用可否はサーバによる)

セーブデータはTruckersMP専用のものを分けて管理すると便利。

TruckersMP用のアカウント

TruckersMPでプレイするためには、TruckersMPのWebサイトにてアカウント登録が別途必要。

  • 作成するのはTruckersMPのログイン時に使用するアカウントで、これをSteamのアカウントと関連付ける(登録の際にはSteamアカウントへのログイン処理が必要となる)
  • アカウント登録時にはSteam側のアカウントの “プロフィール” とその “ゲームの詳細” を “公開” にする必要があり、後者はプレイ時間の情報も含む(プレイ時間が非公開だとETS2やATSがTruckersMP側から認識されない)
    • いったん登録が済めばこれらは “非公開” や “フレンドのみ” にしてもログインに支障はないが、後からDLCを追加した場合や “ETS2のみ持っていたが後でATSを購入した” などの変更を反映したいときには、マルチプレイヤー用アカウントからSteamの最新のユーザ情報にアクセスする必要があるので再度一時的に “公開” にする必要がある
    • TruckersMPへの参加資格として、各シミュレータのプレイ時間がある程度の時間を超えている必要があり、それより短いシミュレータでは参加が行えず、プレイ時間を満たして再度チェックを受ける必要がある

ルールとban処分

TruckersMPではルールが定められており、違反をゲーム内やWebサイトから通報されるなどするとアカウントに処分(ban)が下されることがある。ルールは不定期に更新され、初回ログイン時やルール更新後のログイン時にはこれを読んだことの確認を求められる。

  • ルールは公式サイトでも確認できる
  • banはある程度の回数までは期間が定められ、その後は無期限となる
  • 違反行為の種類によっては即永久banとなる
  • 実際に違反行為をしたわけでないのに受けたbanには、Webサイトから異議申し立てができる

TruckersMPクライアントの動作環境

  • Win64(64bit版のWindows)専用
  • x86_64版のGNU/LinuxでWineのパッケージとWineの仮想Windows環境(WINEPREFIX)の両方が64bitに対応していれば、truckersmp-cliと呼ばれる非公式のランチャを通じてWineやProtonでもプレイできる
  • TruckersMPの運営側はWineをサポート対象外の環境としているが、2021年夏時点ではWineで非公式ランチャを通して実行したとしてもそれを理由にルール違反として処分が下されることはない
    • 将来規約が変更される可能性はあるので規約の変更時には注意が必要

本体とTruckersMPクライアントのバージョン

  • サーバ側が対応しているゲーム側バージョンは特定のバージョンに決められており、対象でないバージョンでは起動やログインができない
  • バージョン不一致の際には、Steamクライアントからベータ参加のバージョン指定でサポートされるバージョンに合わせる作業が必要になる
    • プレイ中であってもサーバ側の更新作業によって強制的にログアウトされることが稀にあり、その際はクライアントの更新を行ってから接続し直す必要がある

TruckersMPの独自コマンド

Yキーでの発言では / で始まる独自コマンドを入力することで行える操作がある。

  • /fixと発言するとトレーラーのある状態でヘッド部分のダメージを全回復できる(エンジン故障時に便利)が、一定時間ごとに1回だけしか使えない
  • /pinfo [数字]ではコマンド実行時にその数字が割り当てられているプレーヤの情報が取得できる3
  • /hと発言すると利用可能コマンドの一覧が表示される

TruckersMPのシミュレータ内時刻の経過

  • シミュレータ内の曜日や時刻は、通常のプレイとは異なり市街地の内外に関係なく一定のペースで進み、全参加者のシミュレータ内時刻は同期される
    • シミュレータ内の経過日数はこの同期の関係で初回ログイン後のプレイ時に一気に進んでしまう
  • 信号機や踏切のタイミングも同期される
  • ランダムで発生する障害物(ランダムイベント)は同期されないため、設定で発生率を最低にしておくことが推奨される
  • 配送中にセーブして終了した場合、再開までに時間を空けすぎると再開時にゲーム内の時刻が進みすぎて遅配となることがある
    • 長距離の配送を行う場合は時間に余裕を持たせる

時間経過の処理の関係か、受注可能な仕事が完全になくなることがしばしば起こるが、整備場への牽引やガレージへのクイックトラベル、駐車場での休憩といった行動で解消される。

truckersmp-cliを使用してLinux上でTruckersMPクライアントを動かす

truckersmp-cliについて

truckersmp-cliを用いることで、Linux上でProtonやWineを用いてTruckersMPクライアントを動かす(マルチプレイヤーでプレイする)ことが可能になる。

Linux版Steamクライアント4と本ツールのみを用意すればゲームやMODのダウンロードや実行をツール側で行って簡単に起動することができる。

Linux版Discordを使用している場合、TruckersMPでプレイしているときにDiscordのRich Presence機能で各種情報を外部ツールwine-discord-ipc-bridge経由で他のDiscordユーザに向けて表示できる

このツールを用いるとTruckersMPクライアントのダウンロードは自動で行われ、TruckersMPの公式サイトから手動でファイルをダウンロードする必要はない。

truckersmp-cliの導入・使用例

truckersmp-cliのインストール

(一部の機能が依存する外部パッケージを一緒にインストール)
$ python3 -m pip install truckersmp-cli[optional]

(最小限のインストール)
$ python3 -m pip install truckersmp-cli

(最新バージョンにアップグレード)
$ python3 -m pip install truckersmp-cli --upgrade

リリース一覧からダウンロードして展開する方法もある。

truckersmp-cli.exeを自分でコンパイルしたい場合はmingw-w64(のWin64アプリケーション開発用パッケージ)をインストールした上で既存の.exeファイルを消してからmakeを実行するなどしてコンパイルする。

truckersmp-cliの書式

$ truckersmp-cli [ACTION] [GAME] [OPTION...]

アクション:

  • update: 最新バージョンに更新
  • downgrade: 要ダウングレード時、サポートされるゲームバージョンのブランチ(自動取得される)にダウングレード
  • start: ゲームを開始
  • updateandstart(ustart): update後にstart
  • downgradeandstart(dstart): downgrade後にstart

ゲーム:

  • ets2mp: ETS2MP
  • atsmp: ATSMP
  • ets2: ETS2(通常起動)
  • ats: ATS(通常起動)

truckersmp-cliの使用例

下は起動用のスクリプトの実行例。Steamアカウント名部分は自分のものに置き換えて実行する。シェルスクリプトを書いたりデスクトップ上にランチャを作ったりすると起動がしやすくなる。

(ETS2とProtonを更新する)
$ truckersmp-cli update ets2 --proton --account your_steam_account -v

(最新バージョン系統が未サポートでダウングレードが必要なときにETS2をダウングレード)
$ truckersmp-cli downgrade ets2 --proton --account your_steam_account -v

(ATSとProtonを更新する)
$ truckersmp-cli update ats --proton --account your_steam_account -v

(最新バージョン系統が未サポートでダウングレードが必要なときにATSをダウングレード)
$ truckersmp-cli downgrade ats --proton --account your_steam_account -v

(ETS2MPをProtonで実行する)
$ truckersmp-cli start ets2mp --proton --account your_steam_account -v

(上の指定に加えてインストール済みのProtonの場所を指定してそれを使用する)
$ truckersmp-cli start ets2mp --protondir ~/.local/share/Steam/steamapps/common/"Proton 6.3" --proton --account your_steam_account -v

LinuxではProtonを用いるのが既定となっており、--protonオプションは省略できる。
pipでtruckersmp-cli[optional]を指定してインストールした場合、--account(-n)オプションを省略するとストレージ内のSteamのログイン記録(loginusers.vdf)からユーザ名を取得してこれを使用することができる。
--verbose(-v)オプションを2回以上指定するとより詳細なデバッグ用出力が有効になり、一度も指定しないとメインスクリプトからの出力が抑制される。

既にSteamにインストール済みのProtonの場所を指定する場合、Steamの個人用のデータインストールディレクトリの中のディレクトリを指定することになるが、Steamクライアント自体のパッケージをディストリのパッケージとしてインストールするかSteamの公式Webサイトからダウンロードしてインストールするか、および前者の場合はどのバージョンを使用しているかによっても場所が異なるため、使用している環境においてどこにProtonがインストールされているかを把握した上で場所を指定する必要がある。具体的には、Debian/Ubuntu系のディストリにおいてディストリのパッケージとしてSteamをインストールした場合に[ホームディレクトリ]/.steam/debian-installation/または[ホームディレクトリ]/.steam/以下に配置されることを考慮する必要がある(例:--protondir ~/.steam/steamapps/common/"Proton 6.3")。

truckersmp-cli使用時のETS2/ATSの仮想Cドライブの場所

他の場所からセーブデータを持ってくる場合や季節(天候)MODを導入する場合など、仮想Cドライブ内にアクセスしたいときには、以下の場所を参照する。

  • ETS2: ${XDG_DATA_HOME}/truckersmp-cli/Euro Truck Simulator 2/prefix/pfx/drive_c/
  • ATS: ${XDG_DATA_HOME}/truckersmp-cli/American Truck Simulator/prefix/pfx/drive_c/

環境変数XDG_DATA_HOMEが未定義の場合はここに[ホームディレクトリ]/.local/share/が入る。

truckersmp-cli使用時の描画バックエンド

Windows版のETS2/ATS(マルチ含む)では実行時にDirect3D 11が無効化されていれば自動的にOpenGLが用いられる。2021年夏時点では、truckersmp-cli使用時には既定の描画バックエンドはOpenGLとなっており、--enable-d3d11オプション指定時にDirect3D 11が使用できるようになっている。

truckersmp-cliでstart ets2start atsで実行するとマルチではない通常の一人プレイで開始できるようになっており、DXVKでネイティブ版より高いパフォーマンスを出すために使うこともできる。

描画がOpenGLになると、TruckersMPのログイン画面にもOpenGLのロゴが表示されるが、2018年のある時期に “OpenGL使用時にのみ正常動作しない” という不具合を経験しており、この変更で動作しなくなった場合は元に戻してみるとよい。ほとんどの人はWindows上でDirect3Dで遊んでいると思われるため、このような問題は見つかりにくいのかもしれない。

truckersmp-cliでDirect3D 11を使用する場合の注意点

Direct3D 11バックエンドを使用する場合、シングルプレーヤでは問題はないのだが、マルチの場合d3dcompiler_47.dllのWineの実装が不完全なことによりログイン画面などが描画されず、使い物にならない。

回避策としては、ネイティブ版(64-bit)のd3dcompiler_47.dllのインストールおよび有効化を行う。バージョン0.6.2時点では実行時に--activate-native-d3dcompiler-47オプションを付けることでこの処理が自動で行われる。


  1. アカウントの正式なID(TMPID)とは異なる ↩︎

  2. 画面を録画した上でYouTubeなどにアップロードし、TruckersMPのWebサイトから通報したほうが認められやすい ↩︎

  3. 動画を用意してTruckersMPのWebサイトからプレーヤを通報するときなどに役に立つ ↩︎

  4. 一度ログインしてログイン情報を保存しておく必要がある ↩︎