跳到内容
Multigaming

安装 Multigaming 服务器

本通用指南将 Linux(Ubuntu 或 Debian)或 Windows Server 机器准备好以托管任意游戏服务器:选择托管商、非 root 用户、SSH 密钥、防火墙、fail2ban、SteamCMD、Docker、systemd 服务、监控和备份。预计 1 到 2 小时;之后请按您游戏的安装指南继续。

最后更新:2026/10/9

本通用指南将 Linux(Ubuntu 或 Debian)或 Windows Server 机器准备好以托管任意游戏服务器:选择托管商、非 root 用户、SSH 密钥、防火墙、fail2ban、SteamCMD、Docker、systemd 服务、监控和备份。预计 1 到 2 小时;之后请按您游戏的安装指南继续。

分步安装

  1. 选择托管商和套餐(见“选择托管商”),订购运行 Ubuntu LTS 或 Debian stable 的 VPS 或独立服务器。

  2. 用提供的 root 账号通过 SSH 登录并更新系统。

  3. 创建带 sudo 的非 root 用户;绝不要以 root 运行游戏服务器。

  4. 安装 SSH 公钥,然后禁用 root 登录和密码登录。

  5. 启用 ufw 防火墙:拒绝所有入站,放行 SSH 和游戏端口。

  6. 安装 fail2ban 以拦截重复的 SSH 登录尝试。

  7. 根据游戏安装 SteamCMD(Steam 游戏)或 Docker(社区镜像)。

  8. 按游戏指南安装服务器,并开放其端口(使用“端口检查器”工具)。

  9. 创建 systemd 服务(或 tmux 会话)以自动启动和重启服务器。

  10. 配置监控(日志、资源)和经过测试的定时备份。

选择托管商与套餐

  • VPS(每月几欧元起):足够小型服务器;检查 CPU 是否被过度共享,因为大多数游戏依赖单个高速核心。
  • 独立服务器:适合多个服务器或大量槽位;选 SSD/NVMe 和较高 CPU 主频。
  • 标准:靠近玩家的位置(延迟)、含 DDoS 防护、流量不限或配额充足、网络防火墙(“security group”)、快照、支持。用“服务器资源计算器”估算资源。

首次登录与非 root 用户

将 203.0.113.10 替换为服务器 IP,gameadmin 替换为您想用的用户名:

ssh [email protected]
apt update && apt upgrade -y
adduser gameadmin
usermod -aG sudo gameadmin

SSH 密钥与 sshd 加固

在本机执行 ssh-keygen -t ed25519,然后 ssh-copy-id [email protected]。在禁用密码之前,务必在第二个终端测试密钥登录,然后创建 /etc/ssh/sshd_config.d/99-hardening.conf(Ubuntu 22.04+、Debian 12):

# /etc/ssh/sshd_config.d/99-hardening.conf
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes

# Apply: sudo sshd -t && sudo systemctl reload ssh

ufw 防火墙

启用 ufw 之前先放行 SSH,避免把自己锁在外面。然后添加游戏端口(FiveM 示例:30120 的 TCP 与 UDP;各游戏端口见“端口检查器”,“防火墙规则”工具可生成命令)。同时在托管商的网络防火墙(OVH、Hetzner、Scaleway 等:“security group”)中做同样设置。

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 30120/tcp
sudo ufw allow 30120/udp
sudo ufw enable
sudo ufw status verbose

fail2ban

fail2ban 会临时封禁多次登录失败的地址。创建 /etc/fail2ban/jail.local(不要修改 jail.conf):

# sudo apt install fail2ban
# /etc/fail2ban/jail.local
[sshd]
enabled = true
maxretry = 5
findtime = 10m
bantime = 1h

# sudo systemctl enable --now fail2ban
# sudo fail2ban-client status sshd

SteamCMD(Steam 游戏)

从 Valve 官方压缩包手动安装(以 gameadmin 身份,不要用 root)。将 APPID 替换为游戏专用服务器的 ID(见 SteamDB 或游戏指南)。部分服务器需要 Steam 账号而非 “anonymous”,请查阅游戏文档。

sudo apt install -y lib32gcc-s1 curl ca-certificates
mkdir -p ~/steamcmd && cd ~/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
./steamcmd.sh +force_install_dir ~/server +login anonymous +app_update APPID validate +quit

Docker(社区镜像)

Docker 便捷脚本适合测试;生产环境请按 docs.docker.com 的 apt 仓库方式安装。加入 docker 组后需重新登录。用 -p 发布的容器会绕过 ufw:请同时用托管商防火墙限制。

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker gameadmin
# log out, log back in, then:
docker run --rm hello-world

systemd 服务

创建 /etc/systemd/system/gameserver.service(按游戏启动脚本调整 User、WorkingDirectory 和 ExecStart),然后执行:sudo systemctl daemon-reload && sudo systemctl enable --now gameserver。日志:journalctl -u gameserver -f。

[Unit]
Description=Game server
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=gameadmin
WorkingDirectory=/home/gameadmin/server
ExecStart=/home/gameadmin/server/start.sh
Restart=on-failure
RestartSec=10
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

替代方案:tmux

tmux 可在 SSH 断开后保持服务器运行,并可访问其控制台(便于输入命令)。先按 Ctrl+B 再按 D 脱离。它不会在崩溃或重启后自动重启服务器,生产环境请优先使用 systemd。

sudo apt install -y tmux
tmux new -s game
# inside tmux: run ./start.sh, then press Ctrl+B then D
tmux attach -t game

Windows Server 方案

通过远程桌面连接(将 3389 端口限制为您的 IP 或使用 VPN),在 C:\gameserver 安装 SteamCMD 或游戏服务器,在管理员 PowerShell 中开放端口,并用计划任务在开机时启动服务器。请规划 Windows Update 的重启时间,避免意外停机。

New-NetFirewallRule -DisplayName "Game UDP 27015" -Direction Inbound -Protocol UDP -LocalPort 27015 -Action Allow
New-NetFirewallRule -DisplayName "Game TCP 27015" -Direction Inbound -Protocol TCP -LocalPort 27015 -Action Allow
schtasks /Create /TN "GameServer" /TR "C:\gameserver\start.bat" /SC ONSTART /RU SYSTEM /RL HIGHEST /F

家庭托管:端口转发

  • 给机器分配固定内网 IP(路由器 DHCP 预留)。
  • 在路由器中将游戏的每个端口按正确协议转发(NAT)到该内网 IP。
  • 同时放行本机防火墙。请从外网(4G/5G)测试,而不是在局域网内。
  • 如果运营商使用 CGNAT(没有独立公网 IP),则无法端口转发:请申请公网 IP,或改用 VPS 或隧道。
  • 暴露个人 IP 存在风险(针对性 DDoS):公开服务器使用有防护的 VPS 更安全。

关于 DDoS 攻击的说明

  • 对于流量型攻击,本机防火墙不够:防护须在上游由托管商提供。
  • 确认套餐的抗 DDoS 覆盖范围(UDP/游戏协议、“gaming”模式):各托管商并不相同。
  • 使用代理或隧道时不要泄露源站 IP;不要暴露 RCON 或 Web 控制台。

监控

常用命令:服务日志、实际监听的端口(与防火墙核对)、CPU/内存负载和磁盘空间。若需持续监控,可加入 Netdata 或 Prometheus,并为内存和磁盘设置告警。

journalctl -u gameserver -f
sudo ss -lntup
htop
free -h
df -h

备份

每天备份世界和配置,保留多个版本并复制到服务器之外。“备份脚本生成器”工具可生成带保留策略的完整脚本;最简示例(crontab):

30 4 * * * tar -czf /backups/gameserver-$(date +\%Y\%m\%d).tar.gz -C /home/gameadmin server && find /backups -name 'gameserver-*.tar.gz' -mtime +7 -delete

故障排除

  • 玩家无法连接:检查协议(UDP 还是 TCP)、ufw、托管商防火墙,以及服务器是否确实在监听(sudo ss -lntup)。
  • “Permission denied (publickey)”:密钥不在该用户的 ~/.ssh/authorized_keys 中,或权限过宽(chmod 700 ~/.ssh,chmod 600 ~/.ssh/authorized_keys)。
  • 服务器被杀死(“Killed”,OOM):内存不足;查看 “dmesg | grep -i oom”,增加内存或减少槽位和 Mod。交换文件可减少崩溃但会变慢。
  • 服务反复重启:查看 “journalctl -u gameserver -n 100”;检查路径、权限(服务器须属于 gameadmin)以及 SteamCMD 缺失的 32 位库。
  • 服务器不出现在列表中:查询(query)端口被拦截或服务器未登记;请到 game-rank.com/jeux 添加以便收录。

常见问题

游戏服务器该用 VPS 还是独立服务器?
小型服务器或测试用 VPS 就够了。需要多个服务器、大量槽位或稳定性能(无吵闹邻居)时再换独立服务器。
Ubuntu 还是 Debian?
两者皆可,命令几乎相同。请选择受支持的版本(Ubuntu LTS 或 Debian stable),并核对游戏发行商声明的兼容性。
真的需要禁用 root 登录和密码登录吗?
强烈建议:暴露的服务器每天会遭受数千次尝试。SSH 密钥加非 root 用户能消除大部分风险;请在托管商处保留救援控制台。
Docker 还是直接安装?
用 SteamCMD 和 systemd 直接安装最简单,发行商文档也最完善。Docker 便于隔离并在一台机器上运行多个服务器,但会多出需要理解的层(网络、卷、防火墙)。

Multigaming 服务器工具

Multigaming
Multigaming免登录
FiveM、Minecraft、Rust、DayZ、ARK、Valheim、Palworld、CS2、Arma 等的默认端口,并核对您已开放的端口列表。
端口网络打开
文档
Multigaming
Multigaming免登录
各游戏的管理命令(Minecraft、Rust、ARK、Palworld、DayZ、CS2 等),填入您的参数即可复制。无需联网。
RCON管理打开
文档
Multigaming
Multigaming免登录
生成 cron、systemd 定时器或 Windows 任务(schtasks),并在每次重启前通过 RCON 提醒玩家。
重启计划打开
文档
Multigaming
Multigaming免登录
根据人数槽位估算游戏服务器的 CPU、内存、磁盘和带宽,公式透明,假设可编辑。
容量规划成本打开
文档
Multigaming
Multigaming免登录
将端口列表转换为游戏服务器的 ufw、iptables、nftables 或 Windows netsh 规则。
防火墙安全打开
文档
Multigaming
Multigaming需要登录
对比两个配置文件(INI、CFG、JSON):逐行与逐键差异,全部在浏览器本地完成。
对比配置打开
文档
Multigaming
Multigaming需要登录
生成 bash 或 PowerShell 备份脚本(tar、7z、rsync/robocopy),含保留策略、停止服务和 cron 行。
备份脚本打开
文档