本指南介绍如何配置由 Legion Hosting 托管的 Garry's Mod 专用服务器,包括服务器设置、Workshop 合集、热门游戏模式、DarkRP 设置、FastDL 以及如何连接。
目录
1. 游戏服务器登录令牌 (GSLT)
Steam 要求公开的 Garry's Mod 服务器拥有游戏服务器登录令牌。如果没有令牌,您的服务器将不会出现在服务器浏览器中,并且可能会受到限制。
- 前往 steamcommunity.com/dev/managegameservers 并登录。
- 在 创建新的游戏服务器账户 下,输入 App ID
4000(Garry's Mod)以及一个用于识别服务器的备注。 - 点击 创建 并复制生成的令牌。
- 使用变量
sv_setsteamaccount将令牌添加到您的启动命令行或server.cfg中(见下方)。
2. 配置 server.cfg
主服务器配置文件位于:
garrysmod/cfg/server.cfg
通过 SFTP 连接,导航到该路径,然后打开或创建 server.cfg。以下是推荐的初始配置及各关键设置的说明。
// ── Identity ──────────────────────────────────────────
hostname "My GMod Server" // Server name shown in browser
sv_password "" // Leave blank for public; set a password to make it private
// ── Slots & Network ───────────────────────────────────
maxplayers 32 // Maximum concurrent players (up to your plan limit)
sv_region 255 // 255 = worldwide
// ── Gamemode ──────────────────────────────────────────
// Set the active gamemode. Common values: sandbox, darkrp, terrortown, prop_hunt, murder
sv_gamemode "sandbox"
// ── Downloads ─────────────────────────────────────────
// FastDL base URL (see FastDL section below)
sv_downloadurl "https://yourcdn.example.com/garrysmod/"
// Allow clients to download custom content from the server directly (slower fallback)
sv_allowupload 1
sv_allowdownload 1
// ── Steam ─────────────────────────────────────────────
sv_setsteamaccount "YOUR_GSLT_TOKEN_HERE"
// ── Misc ──────────────────────────────────────────────
sv_cheats 0
sv_lan 0 // 0 = internet server; 1 = LAN only
server.cfg 后,从 GPanel 重启服务器,或在服务器控制台中使用 exec server.cfg 来应用大多数设置。部分设置(如 maxplayers)需要完全重启才能生效。
server.cfg 关键设置参考
| ConVar | 示例值 | 说明 |
|---|---|---|
hostname | "My GMod Server" | 在服务器浏览器中显示的名称 |
sv_password | "" 或 "secret" | 服务器密码;留空为公开服务器 |
maxplayers | 32 | 同时在线玩家数量上限 |
sv_gamemode | "darkrp" | 当前激活的游戏模式文件夹名称 |
sv_downloadurl | "https://cdn.example.com/gmod/" | 客户端下载的 FastDL 基础 URL |
sv_setsteamaccount | "ABCDEF..." | 用于公开列表的 Steam GSLT |
sv_lan | 0 | 0 = 互联网,1 = 仅局域网 |
sv_cheats | 0 | 启用/禁用作弊命令 |
3. 热门游戏模式
Garry's Mod 支持许多社区游戏模式。以下列出了最热门的模式。每个游戏模式必须作为插件安装(参见 Workshop 部分),然后在 server.cfg 中使用 sv_gamemode 进行设置。
| 游戏模式 | sv_gamemode 值 | 说明 |
|---|---|---|
| Sandbox | sandbox | 默认的 GMod 体验;建造、生成道具、使用工具。默认已包含。 |
| DarkRP | darkrp | 包含职业、经济和法律的角色扮演游戏模式。最热门的 GMod 游戏模式。 |
| Trouble in Terrorist Town (TTT) | terrortown | 社交推理 — 叛徒 vs. 无辜者。GMod 自带。 |
| Prop Hunt | prop_hunt | 使用道具作为伪装的捉迷藏游戏。 |
| Murder | murder | 一名凶手猎杀无辜者;旁观者必须找出凶手。 |
4. Workshop 合集
在专用服务器上管理插件的最简单方法是通过 Steam Workshop 合集。这允许您在 Steam 上维护一个合集,服务器会在启动时自动下载和更新所有插件。
步骤 1 — 创建 Workshop 合集
- 打开 Garry's Mod Workshop 并订阅您想要的插件。
- 前往您的 Steam 个人资料,点击 Workshop 物品,然后点击 合集,再点击 创建合集。
- 将所有需要的插件添加到合集中,将其发布为 公开,并记下 URL 中的合集 ID(例如
steamcommunity.com/sharedfiles/filedetails/?id=123456789)。
步骤 2 — 添加到启动参数
在 GPanel 中,前往服务器的 Startup 选项卡,添加或更新以下参数:
+host_workshop_collection 123456789
+workshop_addons 123456789
将 123456789 替换为您的实际合集 ID。这两个参数通常一起使用:host_workshop_collection 强制客户端下载合集,workshop_addons 在服务器端加载插件。
STEAM_API_KEY 变量设置为从 steamcommunity.com/dev/apikey 生成的密钥。
步骤 3 — 手动安装插件(替代方法)
您也可以通过 SFTP 手动上传插件到以下路径:
garrysmod/addons/
每个插件应放在自己的子文件夹中,例如 garrysmod/addons/darkrp/。请参阅 SFTP 上传指南获取说明。
5. DarkRP 设置
DarkRP 是最热门的 Garry's Mod 游戏模式,需要两个插件配合使用:基础游戏模式和用于自定义的修改插件。
必需插件
| 插件 | 用途 | Workshop ID |
|---|---|---|
| DarkRP | 核心游戏模式。放置在 garrysmod/gamemodes/darkrp/ |
2975506321 |
| DarkRPModification | 您服务器的自定义配置(职业、货物等)。放置在 garrysmod/addons/darkrpmodification/ |
2975625920 |
gamemodes/ 文件夹中,而非 addons/ 中。DarkRPModification 放在 addons/ 中。路径放错是最常见的 DarkRP 设置错误。
设置游戏模式
在 server.cfg 中设置:
sv_gamemode "darkrp"
自定义 DarkRP(DarkRPModification)
所有自定义设置都在 garrysmod/addons/darkrpmodification/lua/darkrp_config/ 中完成。关键文件:
| 文件 | 控制内容 |
|---|---|
settings.lua | 全局 DarkRP 设置(初始金额、薪资间隔、道具限制等) |
jobs.lua | 定义自定义职业(警察、市长、毒贩等),包括模型、薪资和权限 |
shipments.lua | 定义枪械商货物及其内容 |
entities.lua | 自定义可购买实体(印钞机、冰毒实验室等) |
categories.lua | F4 菜单分类组织 |
示例:添加自定义职业
在 DarkRPModification 的 jobs.lua 中,添加如下代码块:
TEAM_MEDIC = DarkRP.createJob("Medic", {
color = Color(0, 200, 100),
model = {"models/player/Group01/Female_04.mdl"},
description = [[You are a medic. Heal the injured citizens of the city.]],
weapons = {"weapon_medkit"},
command = "medic",
max = 3,
salary = 75,
admin = 0,
vote = false,
hasLicense = false,
category = "Citizens",
})
保存后重启服务器。新职业将出现在 F4 菜单中。
6. FastDL 设置
默认情况下,客户端直接从游戏服务器下载自定义内容(插件、地图、音效),这种方式速度慢且受服务器带宽限制。FastDL 允许客户端改为从 Web 服务器(HTTP/HTTPS)下载文件,从而大幅加快加入速度。
FastDL 工作原理
- 您将
garrysmod/内容目录(或仅更改的文件)的副本托管在 Web 服务器上。 - 在
server.cfg中将sv_downloadurl设置为该 Web 服务器的基础 URL。 - 客户端通过该 URL 以完整的 HTTP 速度下载文件,而非通过游戏协议。
文件格式 — 压缩
Valve 的引擎支持 FastDL 使用 .bz2 压缩文件。对于客户端需要下载的每个文件(例如 maps/rp_downtown_v4c_v2.bsp),您可以选择在旁边放置一个 .bz2 版本。如果存在压缩版本,客户端会优先使用。
配置 sv_downloadurl
在 server.cfg 中:
sv_downloadurl "https://yourcdn.example.com/garrysmod/"
URL 必须以斜杠结尾,其下的目录结构必须与游戏服务器上的 garrysmod/ 文件夹结构一致。例如,如果服务器上的地图位于 garrysmod/maps/rp_downtown.bsp,则 FastDL URL 应在 https://yourcdn.example.com/garrysmod/maps/rp_downtown.bsp 提供该文件。
强制客户端下载文件
要通过 FastDL 强制客户端下载文件,您必须将其添加到 resource.lua 文件中。创建或编辑 garrysmod/lua/autorun/server/resource.lua:
-- Force clients to download specific files
resource.AddFile("maps/rp_downtown_v4c_v2.bsp")
resource.AddFile("sound/mycustomsound.wav")
resource.AddSingleFile("materials/mycustommaterial.vmt")
7. 连接到您的服务器
要查找服务器的 IP 地址和端口,请查看 GPanel 中的 Network 选项卡,或参阅如何查找服务器 IP 和端口指南。
方法 1 — 在 GMod 中直接连接
- 打开 Garry's Mod 并点击 Find Multiplayer Game。
- 点击 Legacy Browser,然后选择 Favourites 选项卡。
- 点击 Add a Server,输入您的服务器 IP 和端口(例如
123.45.67.89:27015),然后点击 Add this address to favourites。 - 在收藏列表中选择服务器并点击 Connect。
方法 2 — Steam 服务器浏览器
- 在 Steam 中,点击 View → Game Servers。
- 点击 + 按钮并输入您的服务器 IP 和端口。
- 点击 Add this address to favourites,然后双击连接。
方法 3 — 控制台直接连接
- 如果尚未启用,请在 GMod 选项中启用开发者控制台。
- 按 ~ 打开控制台并输入:
connect YOUR_SERVER_IP:PORT
相关文章
- Garry's Mod 管理员设置 (ULX) — 安装 ULX/ULib、授予管理员权限、管理权限
- Garry's Mod 故障排除 — 缺失贴图、Workshop 错误、DarkRP 问题等
- 如何通过 SFTP 上传文件
- 如何查找服务器 IP 和端口