Usando o cliente PICKUP VTM no Linux

Atualização 08/06/2021 – Usar o PICKUP junto do truckersmp-cli
Atualização 09/06/2021 – Distro indicada (Debian Testing Firmware)

O que é o PICKUP?
Trata-se de um sistema de gestão de empresas virtuais para o Euro Truck Simulator 2 e American Truck Simulator. Como ele é possível catalogar as viagens dos motoristas, com diversas informações, além de transformar o game em uma espécie de MMO, pois traz alguns elementos desta categoria de jogo, como dinheiro virtual e expansão gradativa da empresa.
Site oficial: https://pickupvtm.com

A idéia aqui é mostrar como executar o PICKUP Client no Linux, mais precisamente no Debian e em suas distros derivadas.
1 – Componentes necessários:
a) .Python;
b) winetricks;
c) protontricks;
d) wine stable ou superior

2 – Para adicionar o repositório wine e instalar:
a) Debian – https://wiki.winehq.org/Debian
b) Ubuntu – https://wiki.winehq.org/Ubuntu

3 – Instalar o Winetricks:
a) sudo apt install winetricks

4 – Instalar o Protontricks:
a) sudo apt install python3-pip python3-setuptools python3-venv pipx

pipx install protontricks

b) o caminho da instalação é ~/.local/pipx/venvs/protontricks/bin/protontricks

c) Para facilitar, crie um alias em ~/.bashrc

alias protontricks="~/.local/pipx/venvs/protontricks/bin/protontricks"

d) Feche a abra novamente o terminal para validar a criação do alias

5 – Remover o jogo nativo e instalar via Proton:
a) Com o cliente Steam aberto, botão direito do mouse sobre o jogo > gerenciar > desinstalar;

b) confirme a remoção:

c) Para instalar utilizando Steam Play/Proton os passos são os seguintes: Botão direito do mouse sobre o jogo > propriedades > Compatibilidade > Forçar uso de ferramenta de compatibilidade do Steam Play específica (marcar a caixa) > Utilizar a versão 4.11. Daí use a opção de instalar.

d) Realizar o procedimento para amb0s os jogos, ETS2 e ATS

e) Abrir ambos os jogos para que seja criado o prefix
Os caminhos padrão dos prefixes são:
~/.local/share/Steam/steamapps/compatdata/227300 (Euro Truck Simulator 2)
~/.local/share/Steam/steamapps/compatdata/270880 (American Truck Simulator)

f) Caso o local de instalação dos seus jogos seja em outra partição por exemplo, ajuste conforme o caso

6 – Instalar os componentes necessários dentro dos prefixes:
a) execute o protontricks como abaixo:

b) selecione o jogo (ATS ou ETS2) e clique em OK

c) surgirão mensagens que você está executando um ambiente 32bits em um prefix 64bits. Não se preocupe, apenas confirme clicando em ok;

d) Na tela seguinte, deixe a opção padrão marcada e clique em ok;

e) Marque a opção Install a Windows DLL or component

f) Na tela seguinte, marque as opções donet48 e vcrun2015. Novamente você irá receber várias mensagens de alerta, apenas confirme quando surgir e aguarde.

g) Use a metodologia microsoftiniana (NNF – Next Next Finish) quando os assistentes de instalação surgirem na tela.

h) No caso do processo de instalação “travar” em algum momento, execute o seguinte:
kill -9 $(ps -ef | grep -E -i '(wine|processid|.exe)' | awk '{print $2}')
e tente novamente realizar a instalação dos componentes

i) Faça o mesmo procedimento para ambos os jogos (ETS2 e ATS)

7 – Baixar e configurar o PICKUP:
a) https://pickupvtm.com/client

b) Clique em download e baixe em algum(a) pasta/diretório

c) Use o seu compactador/descompactador favorito (7z, rar, unzip) extraia o pacote

d) Copie a(o) pasta/diretório para:
– ETS2: ~/.local/share/Steam/steamapps/compatdata/227300/pfx/drive_c (ou outro local dentro do prefix)

– ATS: ~/.local/share/Steam/steamapps/compatdata/270880/pfx/drive_c (ou outro local dentro do prefix)

e) Copie o plugin (dll) pickup-1.12_x64.dll encontrado em ../PICKUP/bin para:
– ATS: ~/.local/share/Steam/steamapps/common/American Truck Simulator/bin/win_x64/plugins

– ETS2: ~/.local/share/Steam/steamapps/common/Euro Truck Simulator 2/bin/win_x64/plugins
PS: a(o) pasta/diretório plugins não existe. É necessário criar.

8 – Alterar versão do Steam Play/Proton para execução do PICKUP:
a) Com o Cliente Steam aberto, Botão direito do mouse sobre o jogo > propriedades > Compatibilidade > Forçar uso de ferramenta de compatibilidade do Steam Play específica (marcar a caixa) > Utilizar a versão 6.3. Aguarde baixar.


9 – Executar e configurar o PICKUP client:
a) Abra o PICKUP com o seguinte comando:
– ATS: STEAM_COMPAT_DATA_PATH="/home/SeuUsuario/.steam/steam/steamapps/compatdata/270880" "/home/SeuUsuario/.local/share/Steam/steamapps/common/Proton 6.3/proton" run "/home/SeuUsuario/.local/share/Steam/steamapps/compatdata/270880/pfx/drive_c/PICKUP/PICKUP.exe"

– ETS2: STEAM_COMPAT_DATA_PATH="/home/SeuUsuario/.steam/steam/steamapps/compatdata/227300" "/home/SeuUsuario/.local/share/Steam/steamapps/common/Proton 6.3/proton" run "/home/SeuUsuario/.local/share/Steam/steamapps/compatdata/227300/pfx/drive_c/PICKUP/PICKUP.exe"

c) A mensagem Missing ‘Newtonsoft.json.dll’! Please download the app again deve aparecer na tela. Apenas confirme. Este é um bug já reportado ao desenvolvedor do programa.

d) O PICKUP irá solicitar o caminho do binário executável do ETS2 e ATS (eurotrucks2.exe e amtrucks.exe) respectivamente. Como os prefixes estão em pastas/diretórios ocultos e o Windows Explorer não reconhece o padrão Linux de ocultá-los, clique em cancel e confirme quando o assistente perguntar se você possui os jogos;

e) Um bug que ainda não consegui solucionar é como fazer a tela de login aparecer corretamente. Obtive esse resultado no Ubuntu 20.04 e Fedora 33. Na distro que indico no momento (Debian Testing Firmware), funciona corretamente

Formulário com bug no Ubuntu e Fedora


Formulário carregado corretamente no Debian Testing Firmware

f) Ao logar, será apresentada a tela abaixo. Clique no botão destacado em amarelo:

g) na tela abaixo, configure o caminho para os binários executáveis dos 2 jogos, usando a opção browse

h) Feche o PICKUP client

10 – Rodar o jogo e o PICKUP Client
a) Primeiramente abra o jogo (ETS2 ou ATS), mas não pegue nenhum trabalho de entrega.

b) Observe que ao chegar na tela de escolha de perfis, aparecerá a mensagem abaixo, o que significa que a DLL do pickup foi carregada corretamente. Confirme clicando em OK


c) Abra o PICKUP Client, conforme orientado no passo 9, conforme o jogo que você abriu

d) Neste momento você já pode realizar os trabalhos de entrega que o programa estará realizando a telemetria

11 – Rodar o jogo no truckersmp-cli

a) Renomear a(o) pasta/diretório Proton em ~/.local/share/truckersmp-cli/ para um nome de sua escolha;

b) Copiar o diretório Proton 6.3 de ~/.local/share/Steam/steamapps/common para ~/.local/share/truckersmp-cli/ e renomear para Proton;

c) Instalar dotnet40, d0tnet48 e vcrun2015 nos 2 prefix:
ETS2:
WINEPREFIX=~/.local/share/truckersmp-cli/Euro\ Truck\ Simulator\ 2/prefix/pfx winetricks --force dotnet48 vcrun2015

ATS:
WINEPREFIX=~/.local/share/truckersmp-cli/American\ Truck\ Simulator/prefix/pfx winetricks --force dotnet48 vcrun2015

Caso os 3 não instalem juntos, realize a instalalação 1 por vez

d) Copiar a(o) pasta/diretório PICKUP para ~/.local/share/truckersmp-cli/American Truck Simulator/prefix/pfx/drive_c ou outro local dentro do prefix. Sabendo que o prefix do truckersmp-cli é
ATS:
~/.local/share/truckersmp-cli/American Truck Simulator/prefix/
ETS2:
~/.local/share/truckersmp-cli/Euro Truck Simulator 2/prefix/

e) Copie o plugin (dll) pickup-1.12_x64.dll encontrado em ../PICKUP/bin para:
ATS: ~/.local/share/truckersmp-cli/American Truck Simulator/data/bin/win_x64/plugins
ETS2: ~/.local/share/truckersmp-cli/Euro Truck Simulator 2/data/bin/win_x64/plugins
PS: a(o) pasta/diretório plugins não existe. Ela deve ser criada

f) Altere o arquivo settings.json deixando-o desta maneira:
{“etsPath”:”Z:\\home\\SeuUsuario\\.local\\share\\truckersmp-cli\\Euro Truck Simulator 2″,”etsOwned”:true,”atsPath”:”Z:\\home\SeuUsuario\\.local\\share\\American Truck Simulator”,”atsOwned”:true,”exeEts”:”Z:\\home\\SeuUsuario\\.local\\share\\truckersmp-cli\\Euro Truck Simulator 2\\data\\bin\\win_x64\\eurotrucks2.exe”,”exeAts”:”Z:\\home\\SeuUsuario\\.local\\share\\American Truck Simulator\\data\\bin\\win_x64\\amtrucks.exe”,”multiplayerURL”:”C:\\Program Files\\TruckersMP Launcher\\Launcher.exe”,”darkMode”:true,”radioVolume”:0,”noIntro”:true,”runStartup”:true,”ETS2Warning”:false,”ETS2WarningValue”:90,”ATSWarning”:false,”ATSWarningValue”:90}
PS: Se o caminho for diferente, altere conforme o caso.

g) Acesse o(a) pasta/diretório ../truckersmp-cli-0.5.0 e inicialize o jogo;

h) Observe que ao chegar na tela de escolha de perfis, aparecerá a mensagem abaixo, o que significa que a DLL do pickup foi carregada corretamente. Confirme clicando em OK


i) Como o jogo logado, para abrir o PICKUP a partir do prefix do truckersmp-cli execute:
ATS:
STEAM_COMPAT_DATA_PATH=/home/SeuUsuario/.local/share/truckersmp-cli/American\ Truck\ Simulator/prefix/ "/home/SeuUsuario/.local/share/truckersmp-cli/Proton/proton" run "/home/SeuUsuario/.local/share/truckersmp-cli/American Truck Simulator/prefix/pfx/drive_c/PICKUP/PICKUP.exe"

ETS2:
STEAM_COMPAT_DATA_PATH=/home/SeuUsuario/.local/share/truckersmp-cli/Euro\ Truck\ Simulator\ 2/prefix/ "/home/SeuUsuario/.local/share/truckersmp-cli/Proton/proton" run "/home/SeuUsuario/.local/share/truckersmp-cli/Euro Truck Simulator 2/prefix/pfx/drive_c/PICKUP/PICKUP.exe"

j) Agora já pode pegar seus trabalhos de entrega e o mesmo será sua telemetria gravada

12 – Problemas Encontrados:
a) Inicialização do PICKUP Client não renderiza corretamente no Ubuntu e Fedora;
b) Formulário de Login do PICKUP Cliente não renderiza corretamente no Ubuntu e Fedora;
c) Rádio não funciona em nenhuma das distros testadas (Debian, Fedora, Ubuntu);
d) o PICKUP Client não emite som ao engatar o truck ao reboque nem quando finaliza a entrega em nenhuma das distros testadas (Debian, Fedora. Ubuntu)

Referências:
https://pickupvtm.com/client
https://www.winehq.org/
https://github.com/Matoking/protontricks/tree/1.5.1
https://wiki.winehq.org/Winetricks
https://github.com/truckersmp-cli/truckersmp-cli