分享个 Oracle arm 搭建 幻兽帕鲁 服务端 教程
参考:https://github.com/TeriyakiGod/steamcmd-docker-arm64
文末有 Dockerfile 内容,或参考: https://github.com/TeriyakiGod/steamcmd-docker-arm64/blob/main/Dockerfile
随意路径新建并进入目录steamcmd,此处为家目录:
mkdir ~/steamcmd
cd ~/steamcmd
创建 Dockerfile 并将后面的 Dockerfile 内容贴进去,保存:
vi Dockerfile
编译:
docker build -t steamcmd-arm64 .
编译好后创建容器,端口可自行修改,连入后会自动更新,更新完输入 quit 退出:
docker run --name steamcmd -p 8211:8211/udp -p 27015:27015/udp -it steamcmd-arm64
quit
再次启动容器:
docker start steamcmd
进入容器:
docker exec -it steamcmd /bin/bash
容器内执行:
FEXBash ./steamcmd.sh
STEAM命令行下执行:
login anonymous
app_update 2394010 validate
app_update 1007
quit
容器内执行:
mkdir -pv /home/steam/.steam/sdk64
ln -sv /home/steam/Steam/steamapps/common/Steamworks\ SDK\ Redist/linux64/steamclient.so /home/steam/.steam/sdk64/steamclient.so
启动帕鲁服务端并送到后台执行:
setsid FEXBash ./steamapps/common/PalServer/PalServer.sh
Dockerfile 内容:
文末有 Dockerfile 内容,或参考: https://github.com/TeriyakiGod/steamcmd-docker-arm64/blob/main/Dockerfile
随意路径新建并进入目录steamcmd,此处为家目录:
mkdir ~/steamcmd
cd ~/steamcmd
创建 Dockerfile 并将后面的 Dockerfile 内容贴进去,保存:
vi Dockerfile
编译:
docker build -t steamcmd-arm64 .
编译好后创建容器,端口可自行修改,连入后会自动更新,更新完输入 quit 退出:
docker run --name steamcmd -p 8211:8211/udp -p 27015:27015/udp -it steamcmd-arm64
quit
再次启动容器:
docker start steamcmd
进入容器:
docker exec -it steamcmd /bin/bash
容器内执行:
FEXBash ./steamcmd.sh
STEAM命令行下执行:
login anonymous
app_update 2394010 validate
app_update 1007
quit
容器内执行:
mkdir -pv /home/steam/.steam/sdk64
ln -sv /home/steam/Steam/steamapps/common/Steamworks\ SDK\ Redist/linux64/steamclient.so /home/steam/.steam/sdk64/steamclient.so
启动帕鲁服务端并送到后台执行:
setsid FEXBash ./steamapps/common/PalServer/PalServer.sh
Dockerfile 内容:
- # Use the official Ubuntu 22.04 as the base imageFROM ubuntu:22.04# Set environment variables to avoid interactive promptsENV DEBIAN_FRONTEND=noninteractive# Install necessary dependenciesRUN apt-get update && \ apt-get install -y \ git \ cmake \ ninja-build \ pkg-config \ ccache \ clang \ llvm \ lld \ binfmt-support \ libsdl2-dev \ libepoxy-dev \ libssl-dev \ python-setuptools \ g++-x86-64-linux-gnu \ nasm \ python3-clang \ libstdc++-10-dev-i386-cross \ libstdc++-10-dev-amd64-cross \ libstdc++-10-dev-arm64-cross \ squashfs-tools \ squashfuse \ libc-bin \ expect \ curl \ sudo \ fuse# Create a new user and set their home directoryRUN useradd -m -s /bin/bash fexRUN usermod -aG sudo fexRUN echo "fex ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/fexUSER fexWORKDIR /home/fex# Clone the FEX repository and build itRUN git clone --recurse-submodules https://github.com/FEX-Emu/FEX.git && \ cd FEX && \ mkdir Build && \ cd Build && \ CC=clang CXX=clang++ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DUSE_LINKER=lld -DENABLE_LTO=True -DBUILD_TESTS=False -DENABLE_ASSERTIONS=False -G Ninja .. && \ ninjaWORKDIR /home/fex/FEX/BuildRUN sudo ninja install && \ sudo ninja binfmt_misc_32 && \ sudo ninja binfmt_misc_64RUN sudo useradd -m -s /bin/bash steamRUN sudo apt install wgetUSER rootRUN echo 'root:steamcmd' | chpasswdUSER steamWORKDIR /home/steam/.fex-emu/RootFS/# Set up rootfsRUN wget -O Ubuntu_22_04.tar.gz https://www.dropbox.com/scl/fi/16mhn3jrwvzapdw50gt20/Ubuntu_22_04.tar.gz?rlkey=4m256iahwtcijkpzcv8abn7nfRUN tar xzf Ubuntu_22_04.tar.gzRUN rm ./Ubuntu_22_04.tar.gzWORKDIR /home/steam/.fex-emuRUN echo '{"Config":{"RootFS":"Ubuntu_22_04"}}' > ./Config.jsonWORKDIR /home/steam/Steam# Download and run SteamCMDRUN curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -ENTRYPOINT FEXBash ./steamcmd.sh