Puncte:1

Rulează steamcmd pe BOX86 în armhf chroot

drapel mx

Vreau să rulez un server de jocuri pe Raspberry Pi 4 (4GB) folosind steamcmd. Am configurat deja un chroot și box86 pentru a rula un server teamspeak 3.

eu urmaresc aceste instrucțiuni și sunt blocat la pasul 8, care rulează steamcmd.sh.

Am modificat fișierul pentru a rula box86, cu toate acestea, ori de câte ori rulez scriptul shell, pare să se actualizeze singur înainte de a-l executa, revenind editările mele.

#!/usr/bin/env bash

STEAMROOT="$(cd "${0%/*}" && echo $PWD)"
STEAMCMD=`nume de bază "$0" .sh`

UNAME=`nuname`
if [ "$UNAME" == "Linux" ]; atunci
  STEAMEXE="${STEAMROOT}/linux32/${STEAMCMD}"
  PLATFORM="linux32"
  export LD_LIBRARY_PATH="$STEAMROOT/$PLATFORM:$LD_LIBRARY_PATH"
else # if [ "$UNAME" == "Darwin" ]; atunci
  STEAMEXE="${STEAMROOT}/${STEAMCMD}"
  dacă [ ! -x ${STEAMEXE} ]; atunci
    STEAMEXE="${STEAMROOT}/Steam.AppBundle/Steam/Contents/MacOS/${STEAMCMD}"
  fi
  export DYLD_LIBRARY_PATH="$STEAMROOT:$DYLD_LIBRARY_PATH"
  export DYLD_FRAMEWORK_PATH="$STEAMROOT:$DYLD_FRAMEWORK_PATH"
fi

ulimit -n 2048

MAGIC_RESTART_EXITCODE=42

if [ "$DEBUGGER" == "gdb" ] || [ "$DEBUGGER" == "cgdb" ]; atunci
  ARGSFILE=$(mktemp $USER.steam.gdb.XXXX)

  # Setați varname-ul LD_PRELOAD în depanator și anulați versiunea globală.
  if [ "$LD_PRELOAD" ]; atunci
    echo set env LD_PRELOAD=$LD_PRELOAD >> „$ARGSFILE”
    echo show env LD_PRELOAD >> „$ARGSFILE”
    dezactivați LD_PRELOAD
  fi

  $DEBUGGER -x „$ARGSFILE” --args /usr/local/bin/box86 „$STEAMEXE” „$@”
  rm „$ARGSFILE”
altfel
  $DEBUGGER /usr/local/bin/box86 „$STEAMEXE” „$@”
fi

STARE=$?

dacă [ $STATUS -eq $MAGIC_RESTART_EXITCODE ]; atunci
    exec „$0” „$@”
fi
ieșiți din $STATUS

Când rulez acest fișier modificat, primesc asta:

Box86 cu Dynarec v0.2.1 7c0b11e construit pe 6 mai 2021 17:03:01
AVERTISMENT: setlocale('en_US.UTF-8') nu a reușit, folosind locale: 'C'.Este posibil ca caracterele internaționale să nu funcționeze.
Redirecționarea stderr către „/root/Steam/logs/stderr.txt”
Se pare că Steam nu s-a oprit curat, programând verificarea imediată a actualizării
[ 0%] Se verifică actualizările disponibile...
[----] Se verifică instalarea...
[ 0%] Se descarcă actualizarea...
[ 0%] Se verifică actualizările disponibile...
[----] Descarcare completa.
[----] Se extrage pachetul...
[----] Se extrage pachetul...
[----] Se extrage pachetul...
[----] Se extrage pachetul...
[----] Se instalează actualizarea...
[----] Se instalează actualizarea...
[----] Se instalează actualizarea...
[----] Se instalează actualizarea...
[----] Se instalează actualizarea...
[----] Se instalează actualizarea...
[----] Se instalează actualizarea...
[----] Se instalează actualizarea...
[----] A curăța...
[----] Actualizare finalizată, lansarea Steamcmd...
/opt/steamcmd/steamcmd.sh: linia 37: /opt/steamcmd/linux32/steamcmd: nu se poate executa fișierul binar: eroare de format Exec

Dacă folosesc un alt nume de fișier, cum ar fi steamcmd_custom.sh Inteleg asta:

Box86 cu Dynarec v0.2.1 7c0b11e construit pe 6 mai 2021 17:03:01
Eroare: fișierul nu a fost găsit (bifați BOX86_PATH)
./steamcmd_custom.sh: linia 38: 71730 Eroare de segmentare (core dumping) $DEBUGGER /usr/local/bin/box86 „$STEAMEXE” „$@”

Și alergând

box86 steamcmd

din /opt/steamcmd/linux32 mă cedează

Box86 cu Dynarec v0.2.1 7c0b11e construit pe 6 mai 2021 17:03:01
AVERTISMENT: setlocale('en_US.UTF-8') nu a reușit, folosind locale: 'C'. Este posibil ca caracterele internaționale să nu funcționeze.
Redirecționarea stderr către „/root/Steam/logs/stderr.txt”
[ 0%] Se verifică actualizările disponibile...
[----] Se verifică instalarea...
[----] !!! Eroare fatală: Nu s-a putut încărca steamconsole.so
Puncte:1
drapel mx

Rulați-l cu

LD_LIBRARY_PATH="/opt/steamcmd/linux32/:$LD_LIBRARY_PATH" box86 linux32/steamcmd

Acest lucru va face calea bibliotecii să fie disponibilă pentru steamcmd.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.