L4D2使用

 

参考

私服搭建

docker镜像

Dockerfile

# base as HoshinoRei/l4d2server-docker
FROM debian:12-slim
LABEL org.opencontainers.image.source=https://github.com/HoshinoRei/l4d2server-docker
LABEL L4D2_VERSION=2243

ENV LANG=C.UTF-8
ENV LC_ALL=C.UTF-8
ENV LANGUAGE=C.UTF-8

RUN sed -i 's@deb.debian.org@repo.huaweicloud.com@g' /etc/apt/sources.list.d/debian.sources && \
    apt-get update                                                                          && \
    apt-get install -y wget lib32gcc-s1 nano                                                && \
    apt-get clean                                                                           && \
    rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*                                           && \
    adduser --home /home/steam --disabled-password --shell /bin/bash --gecos "user for running steam" --quiet steam

USER steam
WORKDIR /home/steam
RUN wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz                                                                     && \
    tar -xzf steamcmd_linux.tar.gz                                                                                                                  && \
    rm -rf steamcmd_linux.tar.gz                                                                                                                    && \
    ./steamcmd.sh +force_install_dir /home/steam/l4d2server +login anonymous +@sSteamCmdForcePlatformType windows +app_update 222860 validate +quit && \
    ./steamcmd.sh +force_install_dir /home/steam/l4d2server +login anonymous +@sSteamCmdForcePlatformType linux  +app_update 222860 validate +quit

EXPOSE 27015 27015/udp

构建镜像ld42_server

docker build -t l4d2_server .

配置文件

服务器信息

宿主机下新建server.cfg

服务端路径left4dead2/cfg/server.cfg

// 服务器名称
hostname "dmjcb"

// Steam group
sv_steamgroup "123456"

// whether to make the server Steam group private
sv_steamgroup_exclusive "1"

// whether or not to allow people with different mods to enter the server
sv_consistency "0"

// hidden server
sv_tags "hidden"

// region, 255 means all
sv_region "255"             

欢迎信息(可选)

宿主机新建motd.txt

服务端路径left4dead2/cfg/motd.txt

Welcome to My L4D2 Server!
Enjoy your stay!

建立服务端

创建容器

使用l4d2_server镜像与server.cfg, 创建容器l4d2

docker run -itd --net="host" --name=l4d2 -v ./server.cfg:/home/steam/l4d2server/left4dead2/cfg/server.cfg l4d2_server

建图

获取目标地图代码, 执行命令建立地图

docker exec -it l4d2 sh /home/steam/l4d2server/srcds_run -game left4dead2 -secure -insecure +map 地图代码 -maxplayers 8 -condebug +exec /home/steam/l4d2server/left4dead2/cfg/server.cfg -nomaster

建立地图后出现下方显示表示启动成功

三方图

若要使用三方图, 须将地图文件拷贝到容器内/home/steam/l4d2server/left4dead2/addons路径下

  • 示例, 使用广州增城地图

拷贝vpk文件到容器指定路径

docker cp ./2396847377.vpk l4d2:/home/steam/l4d2server/left4dead2/addons

修改地图代码为增城第一关, 启动

docker exec -it l4d2 sh /home/steam/l4d2server/srcds_run -game left4dead2 -secure -insecure +map zc_m1 -maxplayers 8 -condebug +exec /home/steam/l4d2server/left4dead2/cfg/server.cfg -nomaster

连接

创建大厅

选择完成战役-与好友一起玩游戏-创建新战役大厅

设置服务器

服务器类型选目前最佳专用

~启动控制台, 设置强制使用指定服务器, 开始游戏

mm_dedicated_force_servers 服务器IP:端口
  • 示例, 设服务器IP为112.126.28.203, 端口默认27015
mm_dedicated_force_servers 112.126.28.203:27015

连接成功后服务端显示用户已经加入

服务端能正常显示游戏内容

控制台指令

基础

队友传送

Warp_all_survivors_here

作弊

Sv_Cheats 1

无敌

god 1

穿墙

noclip

第三人称

thirdpersonshoulder 1
绑定按键
  • 示例, 绑定到按键 g
bind g "thirdpersonshoulder 1"

武器

无限弹药不换弹夹

sv_infinite_ammo 1

激光

upgrade_add laser_sight

榴弹

give weapon_grenade_launcher

m60

give rifle_m60

地图

map 地图代码

突变模式

map 地图代码 模式名

猎头者

map 地图代码 mutation2