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

Last modified: 2019-08-11

前提条件

  • Euro Truck Simulator2(ETS2)とAmerican Truck Simulator(ATS)のいずれかを購入し、Steamのアカウントに登録済み
  • x86かx86_64のGNU/Linuxを使用している
  • Direct3D 9世代かそれより新しいGPUを使用している

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

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

Linuxネイティブ版

  • GNU/Linux向けにビルドされているネイティブアプリケーション
  • x86(32bit)版とx86_64(64bit)版がある
  • Linux版のSteamクライアントをインストールしてこれを通してATSやETS2をインストールするとこれがインストールされる
  • マルチプレイヤー機能には非対応

Windows版

  • Windows向けにビルドされており、x86やx86_64のGNU/LinuxではWineやProtonを用いることで動かすことができる
  • Win32(32bit)版とWin64(64bit)版がある
  • Windows用のSteamクライアントをWindowsやWineで動かしてETS2やATSをインストールするとこれがインストールされる
  • マルチプレイヤー機能が利用できる

ETS2/ATSの描画バックエンド

  • バージョン1.34時点ではDirect3D 9とOpenGLの2つの描画バックエンドを持ち、Windows上では前者が速度的には有利だが、WineやProtonでは低速
  • ETS2やATSはOpenGLに直接対応しているため、Linux上でWindows版をWineやProtonで動かす場合、OpenGLを使用すればネイティブ版と比べての描画速度の低下はほとんどない
  • 開発会社のSCS Softwareによると、2019年にDirect3D 11に対応する予定で、Vulkanについては過去に対応に前向きなコメントを出しているが実際に取り組んでいるという情報は確認できず
    • Direct3D 11に対応した後は、GPUがVulkanに対応していればLinux上でWindows版をProtonやWineで動かすことでDXVKが使えるようになり、OpenGLで動かすよりも動作が軽くなる可能性がある
    • 将来Vulkanに対応した後はネイティブ版の動作もOpenGLより軽くなる

Steamクライアントは日々更新されており、Wineのバージョン3.0.x系で動かそうとしてもSteamクライアントからゲーム画面に切り替わらなくなっているため、Wineを使用する場合は4.0系以上を推奨。

本記事で扱っているトラックシミュレータはmacOSにもネイティブ対応しており、macOS版の特徴はGNU/Linux上のLinuxネイティブ版に近い。

マルチプレイヤー機能 (TruckersMP = ETS2MP/ATSMP)

マルチプレイヤーの概要

  • ETS2やATSは標準機能(インストールした直後の状態)ではマルチプレイヤーではなく、追加の機能(TruckersMPのクライアントで “マルチプレイヤーMOD” とも呼ばれる)を導入することでマルチプレイヤーのシミュレータとしてプレイ可能となる
  • コンピュータにより運転される他の車は現れなくなり、代わりに他のプレーヤの車が道路を走るようになる
    • 他のプレーヤが少ないエリアでは道路がガラガラになり、混雑する場所では渋滞が発生することもある
    • 近くにいる他のプレーヤはカーナビの地図上に色の付いた丸で表示される他、ets2mapのようなサイトでプレーヤの位置や交通量、ログイン人数などを確認することもできる
    • 画面上で他のプレーヤのそばにプレーヤ名とそのプレーヤにサーバから割り当てられている番号1が括弧内に表示される
    • Tabを押すと自分の近くにいるユーザ一覧がウィンドウに表示され、マウス右クリック(独自のマウスポインタが出て再度右クリックで消える)後のマウス操作で、マウスカーソルが出ている間にこのウィンドウに対する操作を行うことができる
      • ここからプレーヤの通報を行うこともできるが、確実ではない2
    • 多数のプレーヤがいる場所ではPCスペックによってはフレームレートが著しく低下することがある
      • スペックが低いと感じた場合、混雑時間帯を避けたり、サーバを変更したり、混雑することの多い区間を避けるルートを走る(“ワールドマップ” でカーナビのルートを迂回ルートへ変更する)などする
        • ログインするサーバを選択する際にログイン済みのプレーヤ数が確認できる
        • 全体的な傾向として、日本時間の朝から昼過ぎはプレーヤ数が少なく、深夜にかけて増加する
        • 2019年7月上旬のサーバ構成変更後はETS2の “Simulation 1” サーバにおいて仏Calais[カレー]と独Duisburg[デュースブルク]およびこれらを結ぶ一般道 “Calais to Duisburg Road (C-D Road)” とその周辺の交通量が多い
          • 2019年6月までは “EU2” サーバが最も混雑していたが、サーバ構成の変更後はログイン可能ユーザ数の最も多いサーバがETS2の “Simulation 1” サーバとなり、同サーバが最も混雑するようになった
          • 以前の “EU2” サーバは150km/hまで出せたが、 “Simulation 1” サーバは110km/h(運営の特権プレーヤは160km/h)までしか速度が出せなくなった(長距離を一気に飛ばして配送するようなやり方は “Arcade” 系サーバでなければできなくなった)
      • 近くにいるユーザ一覧の数が25程度を超えると “混雑している” とみなされる
        • この混雑レベル以上の場所を特に目的もなく繰り返し訪れたり、そのような場所に留まったりすることはサーバの負荷につながるため禁止事項となっている
  • ETS2の “Arcade” 系のサーバを除いて、他プレーヤの車と接触すると衝突する判定があり、両方のプレーヤの車体にダメージが入る(プレーヤどうしでの事故が起こりうる)
    • 2019年6月までは “EU4” サーバが他プレーヤとの衝突のないサーバだった
    • 特定の施設の敷地内では多数のプレーヤが出入りするため “衝突判定無し” に設定されており、接触してもすり抜けてダメージも入らない
  • コミュニケーション
    • Yを押した後でメッセージを入力すると近くのプレーヤに発言することができる
    • マイクで他プレーヤとやりとりする機能があり、設定によっては発言者の名前が画面に表示される
    • 対向車とすれ違う時に挨拶として特定の挙動をする人が一部いる
  • マルチプレイヤーの性質上、走行中にメニューを開くことなどはできなくなっている
  • 停まったまましばらく移動しない・夜間にライトを点けないなどの条件を満たすとサーバから弾き出される(キックされる)
  • 乗用車の運転
    • トラックディーラーでトラックより安価な乗用車が購入でき、トラック用貨物の代わりにCaravan(キャンピングトレーラー)を牽引して配送を行える
    • 運転席の見た目やトラックより低い視点も乗用車のもの
    • 一部のサーバにログインしたときには乗用車が使えない

セーブデータ(プロファイル)はマルチプレイヤー専用のものを分けて管理すると便利。

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と呼ばれる非公式のランチャ(MITライセンス)を通じてWineやProtonでもプレイすることが可能
  • TruckersMPの運営側はWineをサポート対象外の環境としているが、2019年3月時点ではWineで非公式ランチャを通して実行したとしてもそれを理由にルール違反として処分が下されることはない
    • 将来規約が変更される可能性はあるので規約の変更時には注意が必要

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

  • サーバ側が対応している本体(ETS2,ATS)バージョンは1つだけ
  • クライアントのバージョンがサーバ側の対応バージョンと異なる場合は起動に失敗し、Steamクライアントからベータ参加のバージョン指定でサポートされるバージョンに合わせる作業が必要になることがある
    • プレイ中であってもサーバ側の更新作業によって強制的にログアウトされることが稀にあり、その際はクライアントの更新を行ってから接続し直す必要がある

TruckersMPの独自コマンド

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

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

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

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

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

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

truckersmp-cliについて

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

従来このツールはWineでWindows版Steamクライアントを用いてWindows版のシミュレータをインストールすることを前提としていたが、Linux版Steamクライアント4と本ツールのみを用意すればsteamcmdというツール(truckersmp-cliにより自動的にダウンロードされる)によってWindows版のシミュレータやこれを実行するために必要となるProtonを自動的にダウンロードして起動できるようにする修正(Protonラッパー)が2019年4月末に取り込まれ、使用方法が大きく変わった。

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

truckersmp-cliの導入・使用例

  1. git clone https://github.com/lhark/truckersmp-cli.gitを端末で実行する(推奨5)か、本家のmasterブランチをダウンロードして展開する6
  2. truckersmp-cli.exeを自分でコンパイルしたい場合はmingw-w64(のWin64アプリケーション開発用パッケージ)をインストールした上で既存の.exeファイルを消してからmakeを実行するなどしてコンパイルする
  3. 起動用のオプション指定を好みや環境に合わせて起動用スクリプトtruckersmp-cliを実行

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

(ETS2をProtonで実行する例)
$ /path/to/truckersmp-cli/truckersmp-cli -e -p -s -n your_steam_account -v

(上の指定に加えてインストール済みのProtonの場所を指定してそれを使用する例)
$ /path/to/truckersmp-cli/truckersmp-cli -o ~/.local/share/Steam/steamapps/common/"Proton 4.2" -e -p -s -n your_steam_account -v

Protonを用いる場合、Linux側にx86_64用のlibgnutls.so.30というファイル名の “GnuTLS” ライブラリがインストール済みで、かつProtonのバージョンが3.16 Beta以上でなければログインに失敗する。2019年4月末時点ではProtonラッパー機能がインストールする既定のバージョン(4.2)が後者の条件を満たすため、Protonのバージョンを気にする必要はない。

-uオプションは初めて実行するときやサーバ側が要求する本体バージョンが上がって動かなくなったときにだけ付ける。本体の更新が公開された直後にバージョンを上げてしまうとサーバ側がそのバージョンに対応するまでプレイできなくなるおそれがある。

インストール済みのProtonの場所を指定する場合、Steamの個人用のデータインストールディレクトリの中のディレクトリを指定することになるが、Steamクライアント自体のパッケージをディストリのパッケージとしてインストールするかSteamの公式Webサイトからダウンロードしてインストールするか、および前者の場合はどのバージョンを使用しているかによっても場所が異なるため、使用している環境においてどこにProtonがインストールされているかを把握した上で場所を指定する必要がある。

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使用時の描画バックエンドをOpenGLにする

truckersmp-cliで使われる、シミュレータ側の設定ファイル

  • ETS2: ${XDG_DATA_HOME}/truckersmp-cli/Euro Truck Simulator 2/prefix/pfx/drive_c/users/steamuser/My Documents/Euro Truck Simulator 2/config.cfg
  • ATS: ${XDG_DATA_HOME}/truckersmp-cli/American Truck Simulator/prefix/pfx/drive_c/users/steamuser/My Documents/Euro Truck Simulator 2/config.cfg

の中で

uset r_device "[dx9やdx11]"

となっている行のダブルクォート内の文字列をglに変更することでOpenGLによるレンダリングが指定できる。wined3dの描画バックエンドがOpenGLの場合はこれを変更することで描画速度が改善され、Linuxネイティブ版に近くなる。

uset r_device "gl"

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


  1. アカウントの正式なID(TMPID)とは異なる [return]
  2. 画面を録画した上でYouTubeなどにアップロードし、TruckersMPのWebサイトから通報したほうが認められやすい [return]
  3. 動画を用意してTruckersMPのWebサイトからプレーヤを通報するときなどに役に立つ [return]
  4. 一度ログインしてログイン情報を保存しておく必要がある [return]
  5. Gitがインストールされていれば、実行時に自動でGitリポジトリの最新の状態に更新される [return]
  6. 本体のスクリプトをGitリポジトリの最新の状態に更新するにはhttps://raw.githubusercontent.com/lhark/truckersmp-cli/master/truckersmp-cliを手動でダウンロードして置き換える [return]