搭建游戏服务器需要一台运行Linux系统的服务器,可以是云服务器或本地虚拟机。推荐使用 Ubuntu 20.04 LTS 及以上版本以获得更好的社区支持和稳定更新。
要保证服务器有公网IP,且在本地通过SSH客户端可支持顺利登录,需要先更新系统包索引并升级已安装软件来消除已知安全漏洞。
sudo apt update && sudo apt upgrade -y
这个过程我们需要花点时间等待一下,取决于软件包更新量与网络状况。为便于后续管理,创建一个专门运行游戏服务的非 root 用户:
sudo adduser gameserver
sudo usermod -aG sudo gameserver
su - gameserver
非 root 用户能够在一定程度上降低因配置或脚本错误导致的系统风险,并简化权限管理。安装运行游戏服务器常用的依赖工具,包括 screen(用于在后台保持进程运行)、wget(文件下载)、unzip(解压档案)及必要的网络与库支持:
sudo apt install -y screen wget unzip lib32gcc1 libstdc++6:i386
其中 lib32gcc1 和 32 位 C++ 库支持是运行多数基于 SteamCMD 的服务器时必须的环境依赖,尤其在 64 位系统上运行 32 位二进制文件时不可或缺。接下来,通过Steam官方提供的命令行工具SteamCMD来下载、安装和更新主流游戏服务器。首先在家目录创建专用目录并下载解压 SteamCMD:
mkdir ~/steamcmd && cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xzf steamcmd_linux.tar.gz
下载完成后,可通过 ./steamcmd.sh 启动客户端,首次运行时会自动下载必要组件;更多详情可参考 Valve 官方文档。
在 SteamCMD 交互界面中,使用匿名账号登录并为指定游戏服务器创建安装目录,以CSGO为例:
login anonymous
force_install_dir ~/csgo_ds
app_update 740 validate
quit
其中 740 为CS:GO专用服务器在Steam上的应用 ID,validate参数可确保安装文件完整无缺;完成下载后,服务器文件将保存在~/csgo_ds目录中。为了使服务器持续运行并支持后台运维,建议使用screen会话:
screen -S csgo
cd ~/csgo_ds && ./srcds_run -game csgo -console -usercon +game_type 0 +game_mode 1 +map de_dust2
上述命令启动CS:GO服务器,指定地图和模式;按下Ctrl+A后再按 D 可将会话置于后台,在需要时通过screen -r csgo重新进入会话进行监控或重启。
网络层面,确保云服务商或本地防火墙开放相应端口,例如 CS:GO 默认 UDP 端口 27015,可通过UFW放行:
sudo ufw allow 27015/udp
sudo ufw enable
若运营多个服务器或不同游戏,可根据文档逐一放行所需端口;同样也可配置TCP端口用于 RCON 远程管理以及 Web 管理面板访问。针对不同游戏服务器,部署流程大同小异。以《饥荒联机版》为例,下载并安装好SteamCMD后,执行:
login anonymous
force_install_dir ~/dst_server
app_update 343050 validate
quit
然后进入存档目录创建集群,调整 cluster_token.txt 以关联验证码,并在 bin 目录下运行:
cd ~/dst_server/bin
./dontstarve_dedicated_server_nullrenderer -console -cluster Cluster_1
这样即可启动饥荒服务器,支持自定义世界存档与 Mods 加载。运维方面,可结合脚本自动化重启、日志轮转与备份。示例Bash脚本:
#!/bin/bash
LOG_DIR=~/server_logs/`date +%Y%m%d`
mkdir -p $LOG_DIR
screen -S game -X quit
screen -dmS game ~/steamcmd/steamcmd.sh +login anonymous +force_install_dir ~/my_game +app_update 123456 validate +quit
echo "Server restarted at $(date)" >> $LOG_DIR/restart.log
并通过 cron 定时任务调用:
crontab -e
0 4 * * * /home/gameserver/restart.sh
实现每日自动重启和日志归档,有助于保持服务器性能与稳定性。为保障安全,推荐部署基础 DDoS 防护及禁用不必要的系统服务,并定期更新系统与游戏服务器文件:
sudo apt update && sudo apt upgrade -y
cd ~/steamcmd && ./steamcmd.sh +login anonymous +force_install_dir ~/my_game +app_update 123456 validate +quit
使用 npm audit 或类似安全扫描工具检查脚本依赖,确保环境健康。
从零开始部署Linux服务器要每个步骤都格外严谨,从系统准备、依赖安装、SteamCMD 工具部署、游戏文件下载与配置、后台运行管理、网络端口放行、安全加固与自动化运维等环节。以上给大家分享的攻略也同样适合小白,按部就班可以搭建一个文档、高效的私有的游戏服务器,获得更优质游戏体验机和服务器托管服务乐趣。如果想了解更多深入优化方式,可以继续阅读我们官网的有关内容!