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 服务器给国内玩家用,延迟低、稳定性好,成本几乎可以忽略不计。

相关推荐
Pointer Pursuit20 小时前
Linux调试器 ——gdb/cgdb
linux·运维·服务器
u13013020 小时前
GitHub 热榜项目:日榜(2026-10-06)
人工智能·github
IanSkunk20 小时前
从检查设备到训练方案:眼科与视光中心设备联动的数据通路、字段口径与校验规则
服务器·数据库·负载均衡
chenlance20 小时前
PADS灌铜、覆铜过程和技巧小汇总
linux·服务器·网络
xixiaoyunya20 小时前
服务器自动备份怎么做:十几分钟搭建一套稳定可监控的方案
运维·服务器
Martina_032120 小时前
AI生成3D场景导入 Unity/Unreal 后,NPC 总串层?用6步检查导航高度与跨层连接
人工智能·游戏·数学建模·3d·unity·自然语言处理·aigc
miofly21 小时前
Cohere推出North 2平台,主打企业AI代理可控部署
开源·github
Nil20821 小时前
leetcode 55跳跃游戏
算法·leetcode·游戏
wflynn21 小时前
GitHub 日榜趋势速报 | 2026-10-04
开源·github
wflynn21 小时前
GitHub 今日推荐|SCSKiller:游戏着色器预编译消除卡顿
开源·c#·github·nvidia·amd·directx12