Teeworlds / DDNet 服务器搭建:经典 2D 竞技平台游戏

Teeworlds / DDNet 服务器搭建:经典 2D 竞技平台游戏

Teeworlds 是一款完全免费开源的 2D 在线竞技游戏,画面萌趣但玩法非常硬核------钩爪移动、火箭跳、精准射击,学习曲线陡峭但上手后非常过瘾。DDraceNetwork(DDNet)是基于 Teeworlds 的最流行衍生版本,增加了合作闯关模式,有庞大的中文玩家社区。

选择服务器类型

  • Teeworlds 原版:经典 DM/CTF/TDM 对战,适合竞技
  • DDNet:合作闯关地图,社区地图超过 10000 张,中文玩家多

本文以 DDNet 为主(原版配置类似)。

服务器配置

DDNet 极其轻量:

  • 任意玩家数:1 核 1GB,3GB 硬盘

雨云服务器rainyun+com 最入门的机型就能跑,注册填优惠码 2026off 领 5 折优惠券,搭 DDNet 服务器是成本最低的多人游戏之一。

安装 DDNet 服务器

bash 复制代码
sudo apt update
sudo apt install -y libssl-dev libsqlite3-dev

# 从官方 GitHub 下载预编译版本
wget https://github.com/ddnet/ddnet/releases/latest/download/DDNet-linux_x86_64.tar.xz
tar -xJf DDNet-linux_x86_64.tar.xz
cd DDNet-*

ls
# DDNet-Server  DDNet-Client  data/

服务器配置文件

bash 复制代码
cat > server.cfg << 'EOF'
# 基础设置
sv_name "My DDNet Server"
sv_max_clients 16
sv_max_clients_per_ip 4
password ""           # 留空不需要密码
rcon_password "管理员密码"

# 游戏类型设置
sv_gametype "DDRace"   # 合作闯关模式
sv_map "Tutorial"     # 默认地图

# 网络
sv_port 8303
sv_register 1          # 在官方服务器列表显示

# 玩家欢迎消息
sv_motd "欢迎来到我的 DDNet 服务器!"

# 地图轮换(按顺序加载地图)
add_map "Tutorial"
add_map "Kobra 1"
add_map "Kobra 4"

EOF

下载地图

DDNet 地图可以从官方地图库下载:

bash 复制代码
mkdir -p data/maps

# 从 DDNet 官方下载地图包(推荐,包含所有官方地图)
wget https://maps.ddnet.org/all.tar.gz
tar -xzf all.tar.gz -C data/maps/

# 验证地图数量
ls data/maps/ | wc -l

创建启动脚本

bash 复制代码
cat > start.sh << 'EOF'
#!/bin/bash

cd $(dirname $0)
./DDNet-Server -f server.cfg \
  2>&1 | tee -a logs/server-$(date +%Y%m%d).log
EOF

chmod +x start.sh
mkdir -p logs

配置 systemd 服务

bash 复制代码
sudo useradd -m -s /bin/bash ddnet
sudo mv ~/DDNet-* /opt/ddnet
sudo chown -R ddnet:ddnet /opt/ddnet

sudo tee /etc/systemd/system/ddnet.service << 'EOF'
[Unit]
Description=DDNet Game Server
After=network.target

[Service]
Type=simple
User=ddnet
WorkingDirectory=/opt/ddnet
ExecStart=/opt/ddnet/start.sh
Restart=on-failure
RestartSec=10s

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable --now ddnet

防火墙配置

bash 复制代码
sudo ufw allow 8303/udp
sudo ufw allow 8303/tcp

管理员命令(rcon)

游戏内按 F2 打开 rcon 控制台,或在服务器终端直接输入:

复制代码
# 玩家管理
kick <玩家ID> <原因>
ban <玩家ID> <分钟数> <原因>
ban_ip <IP地址> <分钟数> <原因>

# 服务器控制
change_map <地图名>    # 切换地图
reload                 # 重新加载当前地图
say <消息>            # 全服广播消息
status                 # 查看玩家列表

# 查看封禁列表
bans
unban <IP地址>

多端口运行不同游戏模式

可以同时运行多个 DDNet 实例,每个端口跑不同模式:

bash 复制代码
# 端口 8303:合作闯关(DDRace)
# 端口 8304:经典 DM 对战

cat > server-dm.cfg << 'EOF'
sv_name "My DM Server"
sv_port 8304
sv_gametype "DM"
add_map "dm1"
add_map "dm6"
rcon_password "管理员密码"
EOF

# 第二个服务实例
cat > /etc/systemd/system/ddnet-dm.service << 'EOF'
[Unit]
Description=DDNet DM Server
After=network.target

[Service]
Type=simple
User=ddnet
WorkingDirectory=/opt/ddnet
ExecStart=/opt/ddnet/DDNet-Server -f server-dm.cfg
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl enable --now ddnet-dm
sudo ufw allow 8304/udp

自制地图上传

DDNet 有专门的地图编辑器(DDNet Editor),制作完成的地图(.map 文件)直接放到 data/maps/ 目录,然后在配置里 add_map 即可:

bash 复制代码
cp 我的地图.map /opt/ddnet/data/maps/
# 然后在 server.cfg 里
# add_map "我的地图"
# 重启服务
sudo systemctl restart ddnet

DDNet 服务器极其轻量,是所有多人游戏服务器里最省资源的之一。在雨云服务器rainyun+com 最便宜的入门机型上就能跑起来,注册填优惠码 2026off 领 5 折优惠券,搭一个稳定的 DDNet 服务器给国内玩家用,延迟低、稳定性好,成本几乎可以忽略不计。

相关推荐
小豪GO!2 小时前
我的MC猎人游戏记录
游戏
STDD2 小时前
Alien Swarm《异星虫群》: Reactive Drop 专用服务器搭建教程
运维·服务器·github
OpenTiny社区3 小时前
2026 OpenTiny NEXT 产品调研启动!
前端·开源·github
銳昊城3 小时前
项目八: 配置与管理FTP服务器(1) C1
运维·服务器
纽格立科技4 小时前
AI让广播过时,还是让广播稀缺?
大数据·服务器·人工智能·车载系统·信息与通信·传媒
逛逛GitHub4 小时前
推荐 8 个本周 YYDS 的 GitHub 开源项目。
github
逛逛GitHub4 小时前
这个 GitHub 上 1.6 万人点赞 AI PPT 工具,生成的 PPT 能编辑。
github
念恒123064 小时前
库制作与原理---库的理解和加载(中)
linux·运维·服务器
宁静@星空4 小时前
009-Linux环境安装宝塔
linux·运维·服务器