این راهنما نحوه پیکربندی سرور اختصاصی Garry's Mod میزبانی شده در Legion Hosting را پوشش میدهد، از جمله تنظیمات سرور، مجموعههای Workshop، حالتهای بازی محبوب، راهاندازی DarkRP، FastDL و نحوه اتصال.
فهرست مطالب
- توکن ورود سرور بازی (GSLT)
- پیکربندی server.cfg
- حالتهای بازی محبوب
- مجموعههای Workshop
- راهاندازی DarkRP
- راهاندازی FastDL
- اتصال به سرور شما
1. توکن ورود سرور بازی (GSLT)
Steam برای سرورهای عمومی Garry's Mod به یک Game Server Login Token نیاز دارد. بدون آن، سرور شما در مرورگر سرورها نمایش داده نمیشود و ممکن است محدود شود.
- به steamcommunity.com/dev/managegameservers بروید و وارد شوید.
- در بخش Create a new game server account، App ID
4000(Garry's Mod) و یک یادداشت برای شناسایی سرور وارد کنید. - روی Create کلیک کنید و توکن تولید شده را کپی کنید.
- توکن را به خط استارتاپ یا
server.cfgبا استفاده از متغیرsv_setsteamaccountاضافه کنید (به بخش زیر مراجعه کنید).
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 | "" or "secret" | رمز عبور سرور؛ برای عمومی خالی بگذارید |
maxplayers | 32 | حداکثر تعداد بازیکنان همزمان |
sv_gamemode | "darkrp" | نام پوشه حالت بازی فعال |
sv_downloadurl | "https://cdn.example.com/gmod/" | آدرس پایه FastDL برای دانلود کلاینتها |
sv_setsteamaccount | "ABCDEF..." | توکن GSLT Steam برای نمایش عمومی |
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 | استنتاج اجتماعی — خائنان در مقابل بیگناهان. با GMod شامل شده است. |
| Prop Hunt | prop_hunt | قایمباشک با استفاده از آبجکتها به عنوان تغییر قیافه. |
| Murder | murder | یک قاتل بیگناهان را شکار میکند؛ تماشاگران باید قاتل را شناسایی کنند. |
4. مجموعههای Workshop
سادهترین راه برای مدیریت افزونهها در سرور اختصاصی، استفاده از مجموعه Steam Workshop است. این امکان را میدهد تا یک مجموعه واحد در Steam نگهداری کنید و سرور به صورت خودکار همه افزونهها را هنگام استارت دانلود و بهروزرسانی کند.
مرحله ۱ — ایجاد مجموعه Workshop
- Workshop Garry's Mod را باز کنید و روی افزونههای مورد نظر عضو شوید.
- به پروفایل Steam خود بروید، روی Workshop Items و سپس Collections کلیک کنید و Create Collection را انتخاب کنید.
- همه افزونههای مورد نظر را به مجموعه اضافه کنید، آن را به صورت Public منتشر کنید و شناسه مجموعه را از URL آن یادداشت کنید (مثل
steamcommunity.com/sharedfiles/filedetails/?id=123456789).
مرحله ۲ — اضافه کردن به پارامترهای استارتاپ
در GPanel، به تب Startup سرور خود بروید و پارامترهای زیر را اضافه یا بهروزرسانی کنید:
+host_workshop_collection 123456789
+workshop_addons 123456789
123456789 را با شناسه واقعی مجموعه خود جایگزین کنید. هر دو پارامتر معمولاً با هم استفاده میشوند: host_workshop_collection کلاینتها را مجبور به دانلود مجموعه میکند و workshop_addons افزونهها را در سمت سرور بارگذاری میکند.
STEAM_API_KEY را به کلیدی که از steamcommunity.com/dev/apikey تولید کردهاید تنظیم کنید.
مرحله ۳ — نصب دستی افزونه (جایگزین)
همچنین میتوانید افزونهها را به صورت دستی از طریق 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 |
مثال: اضافه کردن یک شغل سفارشی
در فایل jobs.lua داخل DarkRPModification، یک بلوک مانند زیر اضافه کنید:
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 به کلاینتها اجازه میدهد فایلها را از یک وب سرور (HTTP/HTTPS) دانلود کنند و در نتیجه زمان اتصال بسیار سریعتر میشود.
نحوه کار FastDL
- شما یک نسخه از دایرکتوری محتوای
garrysmod/(یا فقط فایلهای تغییر یافته) را روی یک وب سرور میزبانی میکنید. - در
server.cfg،sv_downloadurlرا به آدرس پایه آن وب سرور تنظیم میکنید. - کلاینتها از آن URL برای دانلود فایلها با سرعت کامل HTTP به جای پروتکل بازی استفاده میکنند.
فرمت فایل — فشردهسازی
موتور Valve از فایلهای فشرده .bz2 برای FastDL پشتیبانی میکند. برای هر فایلی که کلاینتها باید دانلود کنند (مثل 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 روی سرور باشد، URL FastDL باید آن را در 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 و پورت سرور خود، تب Network را در GPanel بررسی کنید، یا راهنمای نحوه یافتن IP و پورت سرور را ببینید.
روش ۱ — اتصال مستقیم در 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 کلیک کنید.
روش ۲ — مرورگر سرور Steam
- در Steam، روی View → Game Servers کلیک کنید.
- روی دکمه + کلیک کنید و IP و پورت سرور خود را وارد کنید.
- روی Add this address to favourites کلیک کنید، سپس برای اتصال روی آن دوبار کلیک کنید.
روش ۳ — اتصال مستقیم از کنسول
- اگر کنسول توسعهدهنده در تنظیمات GMod فعال نیست، آن را فعال کنید.
- کلید ~ را بزنید تا کنسول باز شود و تایپ کنید:
connect YOUR_SERVER_IP:PORT
مقالات مرتبط
- راهاندازی مدیریت Garry's Mod (ULX) — نصب ULX/ULib، اعطای دسترسی ادمین، مدیریت مجوزها
- عیبیابی Garry's Mod — تکسچرهای گمشده، خطاهای Workshop، مشکلات DarkRP و موارد دیگر
- نحوه آپلود فایل از طریق SFTP
- نحوه یافتن IP و پورت سرور