关于如何设置 Garry's Mod 在线游戏服务器的完整教程
本文为服务器管理员和玩家提供了设置 Garry's Mod 在线游戏服务器的分步教程。.

关于如何设置 Garry's Mod 在线游戏服务器的完整教程

本文提供了搭建 Garry's Mod 在线游戏服务器的分步指南。内容包括选择合适的服务器位置、安装和配置 SRCDS、安全设置以及优化延迟和硬件资源等技巧。.
0 股票
0
0
0
0

你准备好搭建一个稳定、安全、低延迟的 Garry's Mod 服务器了吗?

本指南面向服务器管理员、游戏玩家和 DevOps 团队,详细讲解了如何使用 SteamCMD 设置 Garry's Mod 服务器 (SRCDS)。文章内容涵盖选择合适的服务器位置、安装和配置 SRCDS、安全设置(例如 RCON 和防火墙)、ping 和硬件优化、创意工坊管理、更新和备份自动化,以及维护和监控的实用技巧。.

选择合适的地点和计划

对于 Garry's Mod 来说,选择服务器位置非常重要,因为玩家体验取决于网络延迟 (ping) 值。对于特定国家/地区的玩家,请选择距离最近的数据中心:欧洲(法兰克福/伦敦)、北美(纽约/芝加哥)、西美(洛杉矶)、亚洲(新加坡/东京)、澳大利亚(悉尼)、巴西(圣保罗)。.

以下 ping 的目的是什么? 80毫秒 为了获得可接受的体验,低于 60毫秒 推荐用于积累竞技经验。.

根据玩家人数推荐硬件。

  • 小型(最多 12 名玩家): 2 个虚拟 CPU,4GB 内存,固态硬盘,100Mbps 带宽。.
  • 中等难度(12-32名玩家): 4 个虚拟 CPU,8-16GB 内存,NVMe SSD,1Gbps。.
  • 大型(超过 32 名玩家或大量插件): 6+ vCPU、32GB+ RAM、NVMe、1-10Gbps 和高 I/O 服务器。.

使用专用游戏服务器或防DDoS服务器,以最大程度降低延迟并抵御攻击。使用CDN分发下载文件(地图、插件),以减少带宽占用并加快下载速度。.

前提条件和系统准备

推荐操作系统: Ubuntu 20.04/22.04 或者 Debian 11/12. 请以具有 sudo 权限的用户身份运行以下命令,以更新系统并安装必备组件。.

sudo apt update && sudo apt upgrade -y
sudo apt install -y wget lib32gcc-s1 lib32stdc++6 ca-certificates screen tmux unzip

如果包裹 steamcmd 罐装供应:

sudo apt install -y steamcmd

否则,请手动安装 SteamCMD:

sudo mkdir -p /opt/steamcmd
sudo chown $USER:$USER /opt/steamcmd
cd /opt/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz

创建一个非root用户来运行服务器:

sudo useradd -m -s /bin/bash gmod
sudo passwd gmod
sudo mkdir -p /home/gmod/server
sudo chown -R gmod:gmod /home/gmod

使用 SteamCMD 下载并安装 SRCDS

以 gmod 用户身份登录并运行 SteamCMD 来安装 Garry's Mod 服务器:

sudo su - gmod
/opt/steamcmd/steamcmd.sh +login anonymous +force_install_dir /home/gmod/server +app_update 4020 validate +quit

下载创意工坊物品(例如收藏品或地图):

/opt/steamcmd/steamcmd.sh +login anonymous +force_install_dir /home/gmod/server +app_update 4020 validate +workshop_download_item 4020 <WORKSHOP_ID> +quit

要在启动 SRCDS 时自动加载集合,请使用以下参数:

+host_workshop_collection <COLLECTION_ID> +host_workshop_authkey <STEAM_WEB_API_KEY>

服务器配置——server.cfg 和执行参数

将基础配置文件放在该路径下 /home/gmod/server/garrysmod/cfg/server.cfg 创建或编辑。基本设置示例:

hostname "My GMod Server"
rcon_password "PUT_A_STRONG_PASSWORD_HERE"
sv_password ""
sv_cheats 0
sv_lan 0
sv_allowdownload 1
sv_allowupload 1
sv_maxrate 30000
sv_minrate 5000
sv_timeout 120
sv_voiceenable 1
sv_pure 0
sv_region 3

配置提示:

  • sv_maxratesv_minrate 根据带宽和玩家数量进行调整。.
  • 管理模组并访问文件 工作室系列 用于让玩家自动下载文件。.

SRCDS 执行参数示例:

cd /home/gmod/server
./srcds_run -game garrysmod +maxplayers 32 +map gm_flatgrass -tickrate 66 -port 27015 +host_workshop_collection <COLLECTION_ID> -autoupdate

以 systemd 服务方式运行服务器

创建 systemd 服务,以便于管理并实现开机自动启动。以下是创建服务文件的示例:

sudo tee /etc/systemd/system/gmod.service <<'EOF'
[Unit]
Description=Garry's Mod Server
After=network.target

[Service]
Type=simple
User=gmod
WorkingDirectory=/home/gmod/server
ExecStart=/home/gmod/server/srcds_run -game garrysmod +maxplayers 32 +map gm_flatgrass -tickrate 66 -port 27015
Restart=on-failure
RestartSec=10
LimitNOFILE=100000

[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable gmod.service
sudo systemctl start gmod.service
sudo journalctl -u gmod.service -f

防火墙、端口和网络安全

常见的 Garry's Mod / SRCDS 移植版本:

  • UDP 27015(游戏和查询)
  • TCP/UDP 27015(RCON 可能使用 TCP)
  • UDP 27005(Steam客户端)

使用 UFW 的示例配置:

sudo ufw allow 27015/tcp
sudo ufw allow 27015/udp
sudo ufw allow 27005/udp
sudo ufw enable

为了防范 DDoS 攻击,可以使用反 DDoS 服务器方案在网络攻击到达服务器之前对其进行过滤。.

优化性能并降低延迟

提升服务器性能的关键技巧:

  • 选择靠近玩家的位置以降低往返时间。.
  • 使用 SSD/NVMe 来减少地图加载时间并提高 I/O 性能。.
  • 物理计算应使用高频 CPU;GMod 在很多情况下依赖于单核频率。.

网络内核设置(示例):

sudo sysctl -w net.core.rmem_max=26214400
sudo sysctl -w net.core.wmem_max=26214400

此外,根据资源和玩家数量平衡 sv_maxrate、tickrate 和 maxplayers,并在将大型模组发布到服务器之前进行测试。.

模组管理、创意工坊和下载自动化

使用 SteamCMD 添加创意工坊中的模组:

/opt/steamcmd/steamcmd.sh +login anonymous +force_install_dir /home/gmod/server +workshop_download_item 4020 <WORKSHOP_ID> +quit

建议:使用集合并将其 ID 作为参数传递。 +host_workshop_collection 设置 Steam 在服务器运行时下载物品。.

要手动安装插件,只需将文件复制到指定位置即可。 garrysmod/插件 插入后重启服务器。.

自动更新和备份

一个简单的 SRCDS 更新脚本:

#!/bin/bash
systemctl stop gmod
/opt/steamcmd/steamcmd.sh +login anonymous +force_install_dir /home/gmod/server +app_update 4020 validate +quit
systemctl start gmod

添加定时任务(例如每天凌晨 4 点):

sudo crontab -e
0 4 * * * /home/gmod/update_gmod.sh >> /var/log/gmod_update.log 2>&1

备份:从文件夹 garrysmod/地图garrysmod/插件 定期进行配置文件备份。使用 rsync 或云基础设施快照和对象存储(兼容 S3)以实现快速恢复。.

监控、日志和维护

登录 garrysmod/日志 systemd 可见。使用 logrotate 轮换日志。.

为了监控服务器状态,可以使用诸如以下工具: 普罗米修斯 + 格拉法纳 或者 Zabbix 建议监控 CPU、内存、网络和丢包情况。.

定期重启(例如每 6-12 小时一次)可以减少内存泄漏和插件引起的问题。.

给管理者和DevOps的实用技巧

  • 首先在测试服务器上测试更新,以发现模组问题。.
  • 使用域名或 DNS 来为服务器设置 IP 地址,以便更轻松地更改 IP 地址;为 server.example.com 创建一个 A 记录。.
  • 使用 CDN 下载文件,使用负载均衡器和 BGP/任播实现高可用性。.

最佳实践:在增加容量或提供公共服务时,使用文件流量拆分到 CDN 和分布式设计来降低服务器负载并提高可用性。.

总结和一般性建议

按照本指南,您可以搭建一个稳定、安全且性能优化的 Garry's Mod 服务器,从使用 SteamCMD 安装 SRCDS 到配置 server.cfg、systemd 服务、防火墙和 DDoS 防护。请注意服务器位置、合适的硬件以及 CDN 的使用,以获得最佳性能。.

离目标用户最近的数据中心(例如欧洲:法兰克福/伦敦,亚洲:新加坡/东京)是获得最低延迟的最佳选择。.
你可以通过创建一个非 root 用户,下载 SteamCMD,然后从 SteamCMD 运行 +app_update 4020 命令来安装 SRCDS。.
仅在需要时启用 RCON,使用强密码和 IP 访问限制,并尽可能使用管理隧道或 VPN。.
使用收藏功能,并将其 ID 设置为 +host_workshop_collection,以便 Steam 自动下载物品;发布前请测试大型模组。.
定期使用 rsync 或云快照备份地图、插件和 cfg 文件夹,并将其存储在对象存储(S3 兼容)中是最佳实践。.

您可能也喜欢

战神2游戏剧情

引言:奎托斯,这位曾经的凡人战士,击败了战神阿瑞斯,成为了新的战神。然而……