Skip to content
fantasylidong edited this page Dec 29, 2021 · 23 revisions

Welcome to the l4d2-docker wiki!

windows使用小技巧

介绍视频

https://www.bilibili.com/video/BV1kM4y1c7WX#reply95912560544

安装+启动命令

anna: docker run -p 2333:2333/tcp -p 2333:2333/udp -e password="123456" -e TZ=Asia/Shanghai -e steamgroup="25622692,26419628" -e PORT=2333 -e MAP="c2m1_highway" -e REGION=255 -e HOSTNAME="LEO" -e plugin="anne" -e steamid="STEAM_1:1:121430603" -v "C:\Program Files (x86)\Steam\steamapps\common\Left 4 Dead 2\left4dead2\addons":"/map" --name anne morzlee/l4d2

neko: docker run -p 2338:2338/tcp -p 2338:2338/udp -e password="123456" -e steamgroup="25622692,26419628" -e PORT=2338 -e MAP="c2m1_highway" -e REGION=255 -e HOSTNAME="LEO" -e plugin="neko" -e PLAYERS=8 -e steamid="STEAM_1:1:121430603" -v "C:\Program Files (x86)\Steam\steamapps\common\Left 4 Dead 2\left4dead2\addons":"/map" --name neko morzlee/l4d2

hardneko: docker run -p 2337:2337/tcp -p 2337:2337/udp -e password="123456" -e steamgroup="25622692,26419628" -e PORT=2337 -e MAP="c2m1_highway" -e REGION=255 -e HOSTNAME="LEO" -e plugin="hardneko" -e steamid="STEAM_1:1:121430603" -v "C:\Program Files (x86)\Steam\steamapps\common\Left 4 Dead 2\left4dead2\addons":"/map" --name neko2 morzlee/l4d2

sirplease: docker run -p 2335:2335/tcp -p 2335:2335/udp -e password="123456" -e steamgroup="25622692,26419628" -e PORT=2335 -e MAP="c2m1_highway" -e REGION=255 -e HOSTNAME="LEO zonemod versus" -e plugin="sirplease" -e steamid="STEAM_1:1:121430603" -v "C:\Program Files (x86)\Steam\steamapps\common\Left 4 Dead 2\left4dead2\addons":"/map" --name sirplease morzlee/l4d2

打开防火墙端口

在防火墙设置的高级设置里,在入站规则出添加tcp,udp 2334,2333,27015三个端口,如果只创建一个服务器,选2333或者2334其中一个就好了

docker进行微调

直接在docker application应用中,进入控制台,在bash模式中进行修改,修改完后用 docker ps //获取docker 容器信息 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 15d4031e1aa2 hexo:latest "/bin/sh -c ./entryp…" 17 hours ago Up 17 hours 0.0.0.0:2334->2334/tcp, 0.0.0.0:2334->2334/udp hexo 然后用docker commit 15d4031e1aa2 hexo对image进行更新,然后把现在容器删了重新再创建一个

部分docker修改需要root权限

docker exec -ti -u root 15d4031e1aa2 bash

如果想要修改windows已经创建好的容器参数

docker run -it --privileged --pid=host debian nsenter -t 1 -m -u -i sh 然后在新创建好的container中进行操作 docker的配置参数在 /var/lib/docker 文件夹中

为什么增加到3个端口

如果docker和本地电脑是一台机器,我不知道27015会不会产生互相占用的情况,所以我两个服务器用的端口分别是2333和2334 如果你不启用大厅匹配,其实只要把端口映射修改一下就好了,比如将27015容器端口映射到本机33333端口,直接可以用。 但是你启用了大厅匹配,它默认创建的房间用的端口号是你开服务器参数的端口号,就会变成27015,别人是连接不进来的,所以多增加几个端口方便处理。 如果你想用自己的端口,那你就按上面的《如果想要修改windows已经创建好的容器参数》来进行修改,一般为container/*****/config.v2****文件

tcp和udp最好都打开

tcp用了rcon远程软件连接方便控制 udp用于游戏连接

windows 端口冲突

net stop hns net start hns

本项目的Github Action用法

在Action secrets里添加 DOCKERHUB_TOKEN DOCKERHUB_USERNAME 两个参数,token是你自己的dockerhub密码,username就是账号,然后只要项目有新更新,就会build 一个image

怎么向本项目添加自己的插件包

1、在Dockerfile文件中添加 RUN git clone https://github.com/fantasylidong/L4D2-Competitive-Rework.git(你自己的) 2、在entrypoint.sh文件中,修改plugins config命令,增加你自己插件包名字的属性 if [ "$plugin" = "neko"(你自己的) ] then cp -r /home/louis/neko(你自己插件名字,一般为.git前面的英文字符串)/* l4d2/left4dead2/ echo "neko plugins packge installed" fi 3、在中英文Readme中添加你自己的plugin名字 4、最后把你自己fork修改的项目,申请个pull request,检查没问题并且没冲突之后我就会merge request,接着就等待新的docker image生成就好了