Рейтинг:1

Запуск steamcmd на BOX86 в chroot armhf

флаг mx

Я хочу запустить игровой сервер на своем raspberry pi 4 (4 ГБ) с помощью steamcmd. Я уже настроил chroot и box86 для запуска сервера teampeak 3.

я следую эти инструкции и я застрял на шаге 8, который запускает steamcmd.sh.

Я изменил файл для запуска box86, однако всякий раз, когда я запускаю сценарий оболочки, он, кажется, обновляется перед выполнением, отменяя мои изменения.

#!/usr/bin/env bash

STEAMROOT="$(cd "${0%/*}" && echo $PWD)"
STEAMCMD=`базовое имя "$0" .sh`

UNAME=`имя`
если [ "$UNAME" == "Linux" ]; тогда
  STEAMEXE="${STEAMROOT}/linux32/${STEAMCMD}"
  ПЛАТФОРМА="linux32"
  экспорт LD_LIBRARY_PATH="$STEAMROOT/$PLATFORM:$LD_LIBRARY_PATH"
else # if [ "$UNAME" == "Дарвин" ]; тогда
  STEAMEXE="${STEAMROOT}/${STEAMMCMD}"
  если [ ! -x ${STEAMEXE}]; тогда
    STEAMEXE="${STEAMROOT}/Steam.AppBundle/Steam/Contents/MacOS/${STEAMCMD}"
  фи
  экспортировать DYLD_LIBRARY_PATH="$STEAMROOT:$DYLD_LIBRARY_PATH"
  экспортировать DYLD_FRAMEWORK_PATH="$STEAMROOT:$DYLD_FRAMEWORK_PATH"
фи

улимит -n 2048

MAGIC_RESTART_EXITCODE=42

если [ "$DEBUGGER" == "gdb" ] || [ "$DEBUGGER" == "cgdb" ]; тогда
  ARGSFILE=$(mktemp $USER.steam.gdb.XXXX)

  # Установите имя переменной LD_PRELOAD в отладчике и отключите глобальную версию.
  если [ "$LD_PRELOAD" ]; тогда
    эхо установить env LD_PRELOAD = $ LD_PRELOAD >> "$ ARGSFILE"
    эхо-шоу env LD_PRELOAD >> "$ ARGSFILE"
    сбросить LD_PRELOAD
  фи

  $DEBUGGER -x "$ARGSFILE" --args /usr/local/bin/box86 "$STEAMEXE" "$@"
  рм "$ARGSFILE"
еще
  $DEBUGGER /usr/local/bin/box86 "$STEAMEXE" "$@"
фи

СТАТУС=$?

если [ $STATUS -eq $MAGIC_RESTART_EXITCODE ]; тогда
    выполнить "$0" "$@"
фи
выйти $СТАТУС

Когда я запускаю этот модифицированный файл, я получаю следующее:

Box86 с Dynarec v0.2.1 7c0b11e построен 6 мая 2021 г. 17:03:01
ВНИМАНИЕ: setlocale('en_US.UTF-8') не удалось, используя локаль: 'C'.Международные символы могут не работать.
Перенаправление stderr в '/root/Steam/logs/stderr.txt'
Похоже, Steam не закрылся корректно, запланирована немедленная проверка обновлений.
[ 0%] Проверка доступных обновлений...
[----] Проверка установки...
[ 0%] Загрузка обновления...
[ 0%] Проверка доступных обновлений...
[----] Загрузка завершена.
[----] Извлечение пакета...
[----] Извлечение пакета...
[----] Извлечение пакета...
[----] Извлечение пакета...
[----] Устанавливается обновление...
[----] Устанавливается обновление...
[----] Устанавливается обновление...
[----] Устанавливается обновление...
[----] Устанавливается обновление...
[----] Устанавливается обновление...
[----] Устанавливается обновление...
[----] Устанавливается обновление...
[----] Убираться...
[----] Обновление завершено, запуск Steamcmd...
/opt/steamcmd/steamcmd.sh: строка 37: /opt/steamcmd/linux32/steamcmd: невозможно выполнить двоичный файл: ошибка формата Exec

Если я использую другое имя файла, например steamcmd_custom.sh Я получаю это:

Box86 с Dynarec v0.2.1 7c0b11e построен 6 мая 2021 г. 17:03:01
Ошибка: файл не найден (отметьте BOX86_PATH)
./steamcmd_custom.sh: строка 38: 71730 Ошибка сегментации (дамп ядра) $DEBUGGER /usr/local/bin/box86 "$STEAMEXE" "$@"

И бег

box86 steamcmd

от /опт/steamcmd/linux32 уступает мне

Box86 с Dynarec v0.2.1 7c0b11e построен 6 мая 2021 г. 17:03:01
ВНИМАНИЕ: setlocale('en_US.UTF-8') не удалось, используя локаль: 'C'. Международные символы могут не работать.
Перенаправление stderr в '/root/Steam/logs/stderr.txt'
[ 0%] Проверка доступных обновлений...
[----] Проверка установки...
[----] !!! Фатальная ошибка: не удалось загрузить steamconsole.so
Рейтинг:1
флаг mx

Запустите его с

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

Это сделает путь к библиотеке доступным для steamcmd.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.