Docker 恐怖分子小镇(TTT)服务器搭建指南:从入门到精通
2024-03-08 17:31:43
使用 Docker 建立你的恐怖分子小镇(TTT)服务器:一个全面的指南
作为一名经验丰富的程序员和技术作家,我深知在《加里模组》上建立一个恐怖分子小镇(TTT)服务器的过程中的复杂性和挑战性。借助 Docker 的强大功能,你可以简化这个过程,创建一个稳定、可定制的 TTT 服务器。本文将逐步指导你完成整个过程,提供深入的见解,解决常见的故障排除问题,并提供额外的提示,帮助你充分利用你的 TTT 体验。
1. 搭建 Docker 环境
为了使用 Docker,首先需要在你的系统上安装 Docker 环境。访问 Docker 官方网站下载并安装适用于你的操作系统的 Docker Desktop。确保按照说明正确设置 Docker 环境。
2. 理解 Docker Compose
Docker Compose 是一个用于定义和管理多容器 Docker 应用程序的工具。它允许你将应用程序的不同组件定义为一个 YAML 文件,然后使用单个命令启动和停止所有容器。
3. 创建 Docker Compose 文件
使用文本编辑器创建一个名为 docker-compose.yml
的文件。这个文件将定义你的 TTT 服务器的容器配置。复制并粘贴下面的内容到文件中:
version: '3.8'
services:
ttt:
container_name: ttt-server
build:
context: .
dockerfile: Dockerfile
ports:
- "27016:27015/tcp"
- "27016:27015/udp"
- "27005:27005/tcp"
- "27005:27005/udp"
volumes:
- tttserver:/home/steam
command: tail -f /dev/null
volumes:
tttserver:
4. 编写 Dockerfile
接下来,创建一个名为 Dockerfile
的文件,它定义了构建 Docker 映像所需的指令。复制并粘贴以下内容到文件中:
FROM ubuntu:18.04
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
RUN apt-get update --fix-missing && \
apt-get install -y \
software-properties-common \
wget \
curl \
&& \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
RUN apt-get upgrade -y
RUN apt-get update -y
RUN apt-get install -y \
sudo \
nano
RUN echo "root:<password>" | chpasswd
RUN sudo useradd -m steam
RUN sudo usermod -aG sudo steam
RUN echo "steam:<steampassword>" | chpasswd
RUN sudo -u steam -H -s
RUN sudo add-apt-repository multiverse; sudo dpkg --add-architecture i386; sudo apt update -y
RUN echo steam steam/question select "I AGREE" | sudo debconf-set-selections
RUN echo steam steam/license note '' | sudo debconf-set-selections
RUN sudo apt install steamcmd -y
RUN sudo apt-get install --reinstall ca-certificates -y
RUN /usr/games/steamcmd \
+login anonymous \
+force_install_dir /home/steam/tttserver \
+app_update 4020 validate \
+quit
RUN echo 'gamemode terrortown' > /home/steam/tttserver/garrysmod/cfg/autoexec.cfg
RUN echo '#!/bin/bash' > /home/steam/tttserver/startServer.sh
RUN echo './srcds_run -console -maxplayers 16 -game garrysmod +gamemode terrortown +map gm_construct' >> /home/steam/tttserver/startServer.sh
WORKDIR /home/steam/tttserver
RUN chmod +x startServer.sh
COPY ./server.cfg /home/steam/tttserver/garrysmod/cfg/server.cfg
WORKDIR /home/steam/tttserver
CMD ["/bin/bash"]
5. 配置服务器设置
现在,你需要配置 TTT 服务器的设置。创建一个名为 server.cfg
的文件,并复制和粘贴以下内容:
hostname "<severname>"
rcon_password "<rcon-password>"
sv_password "<serverpassword>"
//DNA
ttt_killer_dna_range 300
ttt_killer_dna_basetime 100
//Prep
ttt_firstpreptime 45
ttt_preptime_seconds 30
ttt_posttime_seconds 10
//Round length
ttt_haste 0
// ttt_haste_starting_minutes 5
// ttt_haste_minutes_per_death 0.5
ttt_roundtime_minutes 10
//Map Switching
ttt_round_limit 4
ttt_time_limit_minutes 75
//ttt_always_use_mapcycle 0
//Player Counts
ttt_minimum_players 2
ttt_traitor_pct 0.33
ttt_traitor_max 32
ttt_detective_pct 0.13
ttt_detective_max 32
ttt_detective_min_players 5
ttt_detective_karma_min 600
//Karma
ttt_karma 1
ttt_karma_strict 1
ttt_karma_starting 1000
ttt_karma_max 1000
ttt_karma_ratio 0.001
ttt_karma_kill_penalty 15
ttt_karma_round_increment 5
ttt_karma_clean_bonus 30
ttt_karma_traitordmg_ratio 0.0003
ttt_karma_traitorkill_bonus 40
ttt_karma_low_autokick 1
ttt_karma_low_amount 300
ttt_karma_low_ban 0
ttt_karma_low_ban_minutes 60
ttt_karma_persist 1
ttt_karma_clean_half 0.25
//Other
ttt_postround_dm 1
ttt_no_nade_throw_during_prep 0
ttt_weapon_carrying 1
ttt_weapon_carrying_range 50
ttt_teleport_telefrags 1
ttt_ragdoll_pinning 1
ttt_ragdoll_pinning_innocents 1
ttt_use_weapon_spawn_scripts 1
ttt_spawn_wave_interval 2
// server logging
log on
sv_logbans 1
sv_logecho 1
sv_logfile 1
sv_log_onefile 0
// operation
sv_lan 0
sv_region 255
exec banned_user.cfg
exec banned_ip.cfg
6. 构建容器
完成配置后,在终端中运行以下命令来构建 Docker 映像:
docker-compose up -d
7. 启动服务器
映像构建完成后,进入容器并启动服务器:
docker exec -it ttt-server bash
cd /home/steam/tttserver
./startServer.sh
8. 连接到服务器
使用你最喜欢的 TTT 客户端连接到服务器。服务器 IP 地址应该是你的主机 IP,端口为 27015。
故障排除
- 服务器未启动: 检查 Dockerfile 和服务器配置文件是否存在语法错误。
- 客户端无法连接: 确保防火墙允许 27015 端口。
- 服务器运行时遇到问题: 检查服务器日志以了解详细信息。
其他提示
- 在
server.cfg
文件中自定义服务器设置。 - 使用
rcon
命令远程管理服务器。 - 安装插件增强服务器功能。
- 定期更新服务器以修复漏洞和添加新功能。
结论
遵循这些步骤,你将能够使用 Docker 轻松建立一个稳定、可定制的 TTT 服务器。通过充分利用 Docker 的强大功能,你可以创建令人兴奋的 TTT 体验,为你和你的玩家提供无尽的乐趣。
常见问题解答
-
为什么使用 Docker 来搭建 TTT 服务器?
Docker 简化了 TTT 服务器的配置和管理,提供了可移植性和可重复性。 -
我需要什么先决条件才能使用 Docker?
你需要一个 Docker 环境,Steam 帐户和 Ubuntu 18.04 或更高版本。 -
我可以自定义服务器设置吗?
是的,你可以通过编辑server.cfg
文件来自定义服务器设置。 -
如何连接到我的 TTT 服务器?
使用你最喜欢的 TTT 客户端,连接到服务器 IP 地址和端口 27015。 -
遇到问题时如何进行故障排除?
检查服务器日志以了解详细信息,并参考本文中提供的故障排除提示。