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