Tôi muốn chạy một máy chủ trò chơi trên raspberry pi 4 (4GB) của mình bằng steamcmd. Tôi đã thiết lập chroot và box86 để chạy máy chủ TeamSpeak 3.
tôi đang làm theo những hướng dẫn này và tôi bị kẹt ở bước 8, đó là đang chạy steamcmd.sh.
Tôi đã thay đổi tệp để chạy box86, tuy nhiên bất cứ khi nào tôi chạy tập lệnh shell, nó dường như tự cập nhật trước khi thực thi, hoàn nguyên các chỉnh sửa của tôi.
#!/usr/bin/env bash
STEAMROOT="$(cd "${0%/*}" && echo $PWD)"
STEAMCMD=`tên cơ sở "$0".sh`
UNAME=`uname`
nếu [ "$UNAME" == "Linux" ]; sau đó
STEAMEXE="${STEAMROOT}/linux32/${STEAMCMD}"
NỀN TẢNG="linux32"
xuất LD_LIBRARY_PATH="$STEAMROOT/$PLATFORM:$LD_LIBRARY_PATH"
khác # nếu [ "$UNAME" == "Darwin" ]; sau đó
STEAMEXE="${STEAMROOT}/${STEAMCMD}"
nếu [ ! -x ${STEAMEXE} ]; sau đó
STEAMEXE="${STEAMROOT}/Steam.AppBundle/Steam/Contents/MacOS/${STEAMCMD}"
fi
xuất DYLD_LIBRARY_PATH="$STEAMROOT:$DYLD_LIBRARY_PATH"
xuất DYLD_FRAMEWORK_PATH="$STEAMROOT:$DYLD_FRAMEWORK_PATH"
fi
ulimit -n 2048
MAGIC_RESTART_EXITCODE=42
nếu [ "$DEBUGGER" == "gdb" ] || [ "$DEBUGGER" == "cgdb" ]; sau đó
ARGSFILE=$(mktemp $USER.steam.gdb.XXXX)
# Đặt biến thể LD_PRELOAD trong trình gỡ lỗi và bỏ đặt phiên bản toàn cầu.
nếu [ "$LD_PRELOAD" ]; sau đó
echo set env LD_PRELOAD=$LD_PRELOAD >> "$ARGSFILE"
echo show env LD_PRELOAD >> "$ARGSFILE"
bỏ đặt LD_PRELOAD
fi
$DEBUGGER -x "$ARGSFILE" --args /usr/local/bin/box86 "$STEAMEXE" "$@"
rm "$ARGSFILE"
khác
$DEBUGGER /usr/local/bin/box86 "$STEAMEXE" "$@"
fi
TÌNH TRẠNG=$?
nếu [ $STATUS -eq $MAGIC_RESTART_EXITCODE ]; sau đó
exec "$0" "$@"
fi
thoát $STATUS
Khi tôi chạy tệp đã sửa đổi này, tôi nhận được:
Box86 với Dynarec v0.2.1 7c0b11e được xây dựng vào ngày 6 tháng 5 năm 2021 17:03:01
CẢNH BÁO: setlocale('en_US.UTF-8') không thành công, sử dụng ngôn ngữ: 'C'.Các ký tự quốc tế có thể không hoạt động.
Chuyển hướng stderr sang '/root/Steam/logs/stderr.txt'
Có vẻ như steam chưa tắt hoàn toàn, hãy lên lịch kiểm tra cập nhật ngay lập tức
[ 0%] Đang kiểm tra các bản cập nhật có sẵn...
[----] Đang xác minh cài đặt...
[ 0%] Đang tải xuống bản cập nhật...
[ 0%] Đang kiểm tra các bản cập nhật có sẵn...
[----] Hoan thanh tải.
[----] Đang giải nén gói...
[----] Đang giải nén gói...
[----] Đang giải nén gói...
[----] Đang giải nén gói...
[----] Đang cài đặt bản cập nhật...
[----] Đang cài đặt bản cập nhật...
[----] Đang cài đặt bản cập nhật...
[----] Đang cài đặt bản cập nhật...
[----] Đang cài đặt bản cập nhật...
[----] Đang cài đặt bản cập nhật...
[----] Đang cài đặt bản cập nhật...
[----] Đang cài đặt bản cập nhật...
[----] Dọn dẹp...
[----] Cập nhật hoàn tất, khởi chạy Steamcmd...
/opt/steamcmd/steamcmd.sh: dòng 37: /opt/steamcmd/linux32/steamcmd: không thể thực thi tệp nhị phân: lỗi định dạng Exec
Nếu tôi sử dụng một tên tệp khác, chẳng hạn như steamcmd_custom.sh
Tôi nhận được điều này:
Box86 với Dynarec v0.2.1 7c0b11e được xây dựng vào ngày 6 tháng 5 năm 2021 17:03:01
Lỗi: không tìm thấy tệp (kiểm tra BOX86_PATH)
./steamcmd_custom.sh: dòng 38: 71730 Lỗi phân đoạn (đổ lõi) $DEBUGGER /usr/local/bin/box86 "$STEAMEXE" "$@"
Và chạy
box86 steamcmd
từ /opt/steamcmd/linux32
mang lại cho tôi
Box86 với Dynarec v0.2.1 7c0b11e được xây dựng vào ngày 6 tháng 5 năm 2021 17:03:01
CẢNH BÁO: setlocale('en_US.UTF-8') không thành công, sử dụng ngôn ngữ: 'C'. Các ký tự quốc tế có thể không hoạt động.
Chuyển hướng stderr sang '/root/Steam/logs/stderr.txt'
[ 0%] Đang kiểm tra các bản cập nhật có sẵn...
[----] Đang xác minh cài đặt...
[----]!!! Lỗi nghiêm trọng: Không thể tải steamconsole.so