counter-strike-source•

راهنمای سرور مولتی‌مود و پلاگین‌های Kick و Ban

نویسنده: تیم برنو

راهنمای سرور مولتی‌مود و پلاگین‌های Kick و Ban
BERNO.COUNTER-STRIKE: SOURCE · 07 OCT 2026

راهنمای سرور مولتی‌مود
و پلاگین‌های Kick و Ban

PLAYER & ADMIN HANDBOOK / MULTIMOD

از ورود به سرور تا مدیریت مود و بازیکن

دستورهای ضروری، استفاده از پلاگین‌های جدید، بن و رفع بن، و نکات سرور مولتی‌مود در یک مرجع کاربردی. ابتدا بخش مربوط به نقش خودت را بخوان؛ دستورهای مدیریتی فقط برای افراد دارای دسترسی‌اند.

۶مود بازیKick / Banمدیریت بازیکنFA / RTLراهنمای فارسی
مبنای این نسخه: سورس‌های بستهٔ plugin_sources_2026-10-07.zip و آخرین تنظیمات تأییدشدهٔ مولتی‌مود. وجود سورس به معنی نصب و اجرای پلاگین نیست؛ نسخه‌ها و فعال‌بودن قابلیت‌ها را مدیر سرور با sm plugins list تأیید می‌کند. این سند ادعای بررسی زندهٔ وضعیت فعلی سرور ندارد.
بازیکن / کنسول بازی

ورود به مولتی‌مود

connect 185.112.151.46:27266

آدرس مربوط به همین سرور مولتی‌مود است؛ نه سایر سرورهای BERNO.

بازیکن / چت بازی

راه ارتباط با مجموعه

!links

با نصب Social Links، اطلاعات تماس فقط برای خودت نمایش داده می‌شود.

ادمین / چت بازی

منوی مدیریت بازیکن

!kbmenu

در نسخهٔ ۲.۱: Kick، Ban و Ban List؛ با دسترسی متناسب با هر عملیات.

همهٔ بخش‌هابازیکنادمینمدیر فنی
چاپ / ذخیره PDF

روی عنوان هر بخش بزن؛ با دکمهٔ کنار دستور، متن آن را کپی کن.

برای بازیکن‌ها — بدون دسترسی مدیریتی
01

اتصال، کنسول و دستورهای پایه

بازیکن

دستورهای این جدول در کنسول بازی خودت اجرا می‌شوند، نه در CMD ویندوز. کنسول را از تنظیمات بازی فعال کن و با کلید ~ باز کن. دستورهای دارای ! یا / را داخل چت بازی بنویس.

دستور / محل اجراکاربرد و نکته
connect 185.112.151.46:27266
اتصال مستقیم به مولتی‌مود BERNO.
retry
تلاش دوباره برای اتصال به آخرین سرور؛ برای مشکلات موقتی اتصال.
disconnect
خروج از سرور، بدون بستن بازی.
status
نام سرور، مپ و بازیکن‌ها. userid شمارهٔ اتصال فعلی است و Steam ID نیست؛ با اتصال مجدد تغییر می‌کند.
chooseteam
بازکردن منوی تیم. در بعضی مودها انتخاب تیم توسط پلاگین محدود یا خودکار می‌شود.
jointeam 1
jointeam 2
jointeam 3
در CS:S: به‌ترتیب Spectator، تیم T و تیم CT؛ فقط اگر قوانین مود اجازه بدهند.
say "MESSAGE"
say_team "MESSAGE"
ارسال پیام عمومی یا تیمی از کنسول. متن داخل گیومه را با پیام خودت جایگزین کن.
kill
خودکشی. ریسپاون فوری را تضمین نمی‌کند؛ بازگشت به بازی تابع مود و تنظیمات آن است.

بایندهای کاربردی

در کنسول بازینتیجه
bind "F6" "say /links"
بازکردن اطلاعات تماس با F6؛ در صورت نصب Social Links.
bind "m" "chooseteam"
بازگردانی M به منوی تیم.
bind "b" "buymenu"
بازکردن منوی خرید با B؛ امکان خرید تابع مود است.
unbind "F6"
پاک‌کردن بایند F6.

بایند جدید، عملکرد قبلی همان کلید را عوض می‌کند. برای اجرای مجدد تنظیمات شخصی در شروع بازی، خط‌های موردنیاز را در فایل autoexec.cfg داخل پوشهٔ cstrike/cfg بازی خودت قرار بده؛ نه در فایل‌های سرور.

02

لینک‌ها و ارتباط با ادمین

Social Links 1.3.0
دستورمحل اجرا / نتیجه
!links
/links
چت بازی؛ فهرست راه‌های ارتباطی فقط برای خودت نمایش داده می‌شود.
!social
/social
چت بازی؛ همان فهرست لینک‌ها، با نام دستور جایگزین.
sm_links
sm_social
کنسول بازی خودت؛ نسخه‌ای از متن در چت و کنسول نمایش داده می‌شود. کنسول سرور برای دریافت فهرست شخصی مناسب نیست.
sm_social_status
کنسول بازی یا سرور؛ وضعیت پلاگین، فعال‌بودن پیام‌ها و تعداد لینک‌های معتبر. در این سورس، دستور عمومی است.

بین دو درخواست دستی حداقل ۵ ثانیه صبر کن. با تنظیمات بسته، پیام ورود حدود یک ثانیه پس از بررسی دسترسی بازیکن می‌آید و هر ۱۲۰ ثانیه یک راه ارتباطی به‌صورت گردشی معرفی می‌شود؛ مدیر می‌تواند این رفتار را تغییر دهد.

شناسه‌های درج‌شده در پیکربندی همین بسته؛ ممکن است مدیر سرور آن‌ها را تغییر داده باشد:

ادمین / تلگرام@moosaviali608
گروه تلگرام@csberno
اینستاگرام@bernoapp
کانال تلگرام@bernoapp
کانال روبیکا@bernoapp

شناسه‌ها در چت به انگلیسی و، در کلاینت‌های سازگار، آبی روشن نمایش داده می‌شوند. متن چت الزاماً لینک قابل‌کلیک نیست؛ اگر در چت نمی‌بینی، کنسول بازی را هم بررسی کن.

03

مودهای سرور و Friendly Fire

مولتی‌مود

جدول زیر بر اساس آخرین پیکربندی تأییدشدهٔ سرور مولتی‌مود است. پلاگین‌های اختصاصی هر مود هنگام تغییر مود مدیریت می‌شوند؛ بازیکن عادی اجازهٔ تغییر مود مدیریتی را ندارد.

مودنام در دستورکاربرد / نکتهFriendly Fire
Classicclassicبازی راندی؛ تنظیمات مجموعه ممکن است با تنظیمات رقابتی استاندارد متفاوت باشد.خاموش
Publicpublicبازی عمومی با پلاگین‌های اختصاصی Public، از جمله Revival و ایستگاه‌های سلامت/زره در پیکربندی تأییدشده.خاموش
GunGamegungameپیشروی سطح سلاح؛ پلاگین‌های GunGame و بازگشت به بازی طبق تنظیمات این مود.روشن
Deathmatchdeathmatchدث‌مچ و ریسپاون طبق تنظیمات CS:S DM.روشن
Snipe / AWPawpمود اسنایپ؛ برای انتخاب آن در مدیر مود، awp بنویس، نه snipe.خاموش
Matchmatchلودشدن پلاگین و تنظیمات Match؛ فرمان‌های داخلی پلاگین Match در سورس‌های این بسته نیستند.خاموش

روشن‌بودن Friendly Fire یعنی امکان آسیب به هم‌تیمی وجود دارد؛ مجوز آزار یا تخریب بازی نیست. تنظیمات ریسپاون، خرید، انتخاب تیم، پرش و برخورد بازیکن‌ها تابع مود فعال‌اند.

فرمان‌های حدسی مثل !guns، !revive یا دستور شروع Match در این سند تأیید نشده‌اند؛ فقط پس از بررسی سورس/نسخهٔ همان پلاگین به بازیکن اعلام شوند.

برای ادمین‌ها — با دسترسی محدود به مسئولیت خودت
04

منوی Kick و Ban

KB Menu 2.1.0

داخل چت !kbmenu یا /kbmenu، و داخل کنسول بازی sm_kbmenu یا kbmenu بزن. منو برای ادمینِ داخل بازی است؛ در کنسول سرور یا RCON نمایش تعاملی ندارد. منوها و پیام‌های پلاگین انگلیسی‌اند.

!kbmenu←Ban←انتخاب بازیکن←روش بن←مدت←Yes - confirm
گزینهٔ منورفتار و محدودیت
Kickاخراج اتصال فعلی، بعد از انتخاب بازیکن و تأیید. بن نیست؛ بازیکن می‌تواند دوباره وصل شود، مگر بن دیگری داشته باشد.
1 - Usernameبن بر اساس نام؛ مقایسه بدون حساسیت به بزرگی/کوچکی حروف. با تغییر نام قابل دورزدن است و می‌تواند فرد دیگری با همان نام را هم محدود کند.
2 - IPبن آدرس IP بدون پورت؛ همهٔ اتصال‌های دارای همان IP را تحت تأثیر قرار می‌دهد، از جمله بازیکن‌های یک شبکهٔ مشترک.
3 - Steam ID
3 - Steam ID (eSTEAMATiON)
بن شناسهٔ موجود برای همان اتصال. اگر شناسایی معتبر/بدون ابهام در دسترس نباشد، گزینه غیرفعال است. برچسب شبیه‌ساز را با حساب واقعی تأییدشدهٔ Steam یکی ندان.
No - cancelلغو عملیات؛ بستن منو یا پایان زمان آن هم مجازات جدیدی اجرا نمی‌کند.

مدت‌های موجود: ۵ دقیقه، ۳۰ دقیقه، ۱ ساعت، ۴ ساعت، ۱ روز، ۱ هفته و Permanent / دائمی.

  • قبل از تأیید، نام، روش، مقدار شناسه، مدت و هشدارها را بررسی کن. تغییر اتصال/شناسهٔ بازیکن می‌تواند تأیید قبلی را نامعتبر کند.
  • خودت، بات‌ها و SourceTV هدف این منو نیستند. ادمین با مصونیت بالاتر ممکن است در فهرست قابل‌هدف‌گیری نباشد.
  • در این نسخه، منو فیلدِ دلیل دلخواه ندارد و دلیل عمومی ثبت می‌کند. برای پاسخ‌گویی، دلیل واقعی و مدرک را در گزارش مدیریتی جدا ثبت کن.

بن‌های این منو در دیتابیس خود پلاگین نگهداری و توسط همین پلاگین اعمال می‌شوند؛ با بن‌های معمول sm_ban یا SourceBans یکی نیستند. از خاموش‌کردن این پلاگین برای دورزدن بن استفاده نکن.

05

لیست بن و رفع بن

نیازمند دسترسی e
  1. منوی !kbmenu را باز کن و Ban List را انتخاب کن.
  2. رکورد فعال موردنظر را با شمارهٔ Ban #، نام و روش پیدا کن.
  3. روش، مقدار شناسه، منبع و زمان باقی‌مانده را در صفحهٔ تأیید بررسی کن.
  4. با Yes - Unban همان رکورد را حذف کن. بازیکن لازم نیست آنلاین باشد.
وضعیتمعنی / اقدام
گزینهٔ Unban غیرفعال استنمایش لیست به دسترسی ban یا unban نیاز دارد؛ اجرای رفع بن، دسترسی sm_unban / فلگ e می‌خواهد.
بن در لیست دیده نمی‌شوداین لیست فقط بن‌های فعال خود KB Menu را نشان می‌دهد. بن منقضی، بن موتور بازی یا پلاگین دیگر در این لیست نیست.
بعد از رفع بن باز هم نمی‌تواند وارد شودممکن است رکورد دیگری با روش متفاوت، یا بن مستقل موتور/پلاگین دیگر باقی مانده باشد. حذف یک رکورد، همهٔ بن‌ها را پاک نمی‌کند.
Unban NOT completedذخیره در دیتابیس موفق نشده؛ رفع بن انجام‌شده تلقی نمی‌شود. موضوع را به مدیر فنی ارجاع بده.

برای رفع بن ایجادشده با KB Menu از همین Ban List استفاده کن. دستور عمومی sm_unban برای بن‌های موتور بازی است و رکورد اختصاصی KB Menu را حذف نمی‌کند.

06

Steam ID و گزینهٔ غیرفعال بن

KB Menu 2.1.0
دستور / محل اجراخروجی موردنیاز
sm_kb_ids
کنسول ادمین یا سرور
نام، userid، شناسهٔ اتصال فعلی و منبع آن. در سورس جدید، دسترسی ban / فلگ d لازم است.
sm_kb_status
کنسول ادمین یا سرور
نسخهٔ پلاگین، تعداد رکوردها، مسیر دیتابیس، فایل لاگ و شمارنده‌های دریافت/پذیرش/رد پیام‌های شبیه‌ساز؛ نیازمند دسترسی d.
status
برای userid و اتصال‌ها مفید است؛ اگر STEAM_ID_LAN نشان دهد، به‌تنهایی شناسهٔ اختصاصی بازیکن را در اختیارت نمی‌گذارد.

Steam (verified)

شناسه‌ای که API سرور/SourceMod معتبر تشخیص داده است؛ این برچسب، تأیید مستقل بیرونی علیه یک سرورِ دارای شبیه‌ساز نیست.

eSTEAMATiON (emulated)

شناسهٔ استخراج‌شده از توالی بدون ابهام لاگ همان اتصال. حساب رسمی Steam را اثبات نمی‌کند و ممکن است تغییرپذیر یا قابل جعل باشد.

UNAVAILABLE

شناسهٔ قابل‌استفاده برای اتصال فعلی نداریم. گزینهٔ Steam ID را با حدس، نام بازیکن یا شناسهٔ اتصال قبلی فعال نکن.

اگر گزینهٔ ۳ غیرفعال است

  1. مدیر فنی، نسخهٔ sm_kbmenu_version را بررسی کند؛ این قابلیت مربوط به نسخهٔ 2.1.0 بسته است، نه هر نسخهٔ قدیمی.
  2. ثبت لاگ بازی فعال باشد و در sm_kb_status فایل لاگ باز دیده شود؛ وضعیت NO FILE OPEN مشکل دریافت فایل را نشان می‌دهد.
  3. پس از لود پلاگین/تغییر تنظیمات و بازشدن لاگ جدید، فقط یک بازیکنِ تست به‌صورت کنترل‌شده دوباره وصل شود. شناسهٔ بازیکن LAN از تاریخچهٔ قدیمی وارد اتصال جدید نمی‌شود.
  4. دوباره sm_kb_ids را بررسی کن. اگر هنوز نامشخص است، خروجی تشخیص و توالی تازهٔ اتصال را به مدیر فنی بده؛ نه کل دیتابیس خصوصی.

این نسخه، توالی connect → assigned → validated را در یک جریان لاگ و یک بازهٔ کوتاه بررسی می‌کند؛ پیام ناقص، ورود هم‌زمان، توالی قطع‌شده یا شناسهٔ متعارض می‌تواند رد شود. این رفتار محافظتی است؛ برای فعال‌کردن گزینهٔ بن، بررسی‌ها را ضعیف نکن.

بن اختصاصیِ Steam ID در KB Menu می‌تواند با شناسهٔ شبیه‌ساز تطبیق داده شود، حتی وقتی موتور بازی STEAM_ID_LAN نشان می‌دهد؛ اما فقط اگر تطبیق اتصال موفق باشد و همین پلاگین فعال بماند. این با بن استاندارد موتور در حالت LAN متفاوت است.

07

دستورهای عمومی ادمین

SourceMod

در کنسول بازی ادمین، با دسترسی لازم. قالب‌های دارای <...> راهنمای جایگزینی‌اند؛ متن داخل علامت‌ها را عیناً اجرا نکن. برای نمونهٔ هدف‌گیری، #12 فقط یک شمارهٔ فرضی است.

قالب دستورکاربرددسترسی پیش‌فرض
sm_admin
منوی عمومی ادمین؛ مستقل از !kbmenu.b
sm_kick <#userid> "reason"اخراج بازیکن، بدون ایجاد بن.c
sm_ban <#userid> <minutes> "reason"بن معمول SourceMod؛ ۰ یعنی دائم. در حالت LAN، مسیر خودکار معمولاً بن IP است؛ نه رکورد KB Menu.d
sm_banip <#userid> <minutes> "reason"بن IP بازیکن. بن‌کردن IP دلخواهِ تایپ‌شده در دستور، به دسترسی RCON هم نیاز دارد.d
sm_unban <SteamID-or-IP>رفع بن موتور بازی؛ برای رکوردهای KB Menu به Ban List مراجعه کن.e
sm_mute <#userid>
sm_unmute <#userid>
قطع/وصل صدای بازیکن؛ چت متنی جداست.j
sm_gag <#userid>
sm_ungag <#userid>
قطع/وصل چت متنی.j
sm_silence <#userid>
sm_unsilence <#userid>
قطع/وصل هم‌زمان صدا و چت متنی.j
sm_slay <#userid>کشتن بازیکن در همان راند؛ برای تنبیه سلیقه‌ای یا آزار استفاده نشود.f
sm_slap <#userid> <damage>ضربه و جابه‌جایی بازیکن با آسیب تعیین‌شده.f
sm_who
نمایش بازیکن‌ها و سطح دسترسی‌شان؛ ابزار بررسی ادمین بودن.b
sm_map <mapname>تغییر مپ از داخل بازی؛ مپ باید روی سرور موجود و معتبر باشد.g
sm_cvar <cvar> [value]خواندن یا تغییر CVar؛ بعضی متغیرهای حفاظت‌شده دسترسی اضافی می‌خواهند.h
sm_reloadadmins
بازخوانی اطلاعات ادمین پس از تغییر فایل/منبع دسترسی.i

قبل از هر مجازات، هدف و userid را بررسی کن. برای تنبیه شخصی از هدف‌های جمعی مثل @all استفاده نکن. دستورهای جدول به پلاگین پایهٔ مربوط وابسته‌اند؛ وجود SourceMod به‌تنهایی تضمین نمی‌کند همهٔ آن‌ها فعال باشند.

منابع دستورهای عمومی: مرجع ادمین SourceMod · Base Commands · Base Comm · Player Commands · منطق بن در حالت LAN

08

تعویض مود و مپ؛ ترتیب صحیح

Gamemode Manager 1.3.1

در نسخهٔ اصلاح‌شدهٔ مدیر مود، انتخاب مود به معنی تعویض فوری نیست: مود برای مپ بعدی تعیین می‌شود. برای اعمال آن، ابتدا مود را انتخاب و سپس مپ را تغییر بده. قبل از تغییر، به بازیکن‌های آنلاین اطلاع بده.

انتخاب مود بعدی←تغییر به یک مپ معتبر←آماده‌شدن مپ و کانفیگ‌ها←اعمال پلاگین‌ها و کانفیگ مود
دستورکاربرد / محل اجرادسترسی
sm_nextgamemode <mode>انتخاب یکی از classic، public، gungame، deathmatch، awp یا match.i یا سرور
sm_nextgamemode
نمایش انتخاب بعدی و مود فعلی. خالی‌بودن next در حالت حفظ مود لزوماً خطا نیست.i یا سرور
sm_currentgamemode
مود فعلی، انتخاب بعدی و وضعیت transition؛ مخصوص نسخهٔ اصلاح‌شده.i یا سرور
sm_gamemodemenu
منوی انتخاب مود بعدی، داخل بازی. فرمان چت معادل: !gamemodemenu.i
sm_reloadgamemodes
بازخوانی فهرست مودها از کانفیگ؛ به‌تنهایی مود فعلی را عوض نمی‌کند.i یا سرور
changelevel <mapname>تغییر مپ در کنسول سرور. معادل داخل بازی برای ادمین: sm_map <mapname>.سرور / برای sm_map: g
maps *
فهرست مپ‌ها را از کنسول سرور بررسی کن؛ نام دقیق را بدون پسوند .bsp وارد کن.کنسول سرور

مثال آماده — در کنسول سرور، به‌ترتیب

sm_nextgamemode gungame
changelevel de_nuke

داخل بازی، ادمینی که هر دو دسترسی انتخاب مود و تغییر مپ را دارد، می‌تواند به‌ترتیب sm_nextgamemode gungame و sm_map de_nuke بزند. برای AWP روی مپ موجود: sm_nextgamemode awp و سپس changelevel awp_hightower_b2 در کنسول سرور؛ وجود این مپ را قبل از اجرا بررسی کن.

در پیکربندی تأییدشده، gamemode_manager_use_default "0" است: با تغییر مپ بدون انتخاب جدید، مود فعلی حفظ می‌شود. نسخهٔ اصلاح‌شده مود را برای راه‌اندازی بعدی هم ذخیره می‌کند؛ ذخیرهٔ مود به معنی ذخیرهٔ مپ نیست و مپ شروع سرور را تنظیمات Startup تعیین می‌کند.

مدیر مود، پلاگین‌های اختصاصی را بین پوشهٔ فعال و plugins/disabled مدیریت می‌کند و پلاگین‌های مشترک را نگه می‌دارد. برای تغییر مود، همهٔ پلاگین‌های disabled را دستی به پوشهٔ اصلی منتقل نکن و کانفیگ مود را جداگانه وسط تعویض مپ اجرا نکن.

09

سطح دسترسی و هدف‌گیری بازیکن

ادمین / مدیر فنی
فلگ پیش‌فرضاختیار
bدسترسی عمومی ادمین؛ از جمله منوی عمومی و بررسی دسترسی‌ها.
c / d / eبه‌ترتیب Kick، Ban و Unban. داشتن Kick به‌تنهایی اجازهٔ بن یا رفع بن نمی‌دهد.
f / g / hبه‌ترتیب Slay، تغییر مپ و کنترل CVar.
i / j / mبه‌ترتیب مدیریت کانفیگ، مدیریت چت/صدا و RCON.
zRoot / همهٔ دسترسی‌ها؛ فقط برای مدیر مورد اعتماد، نه همهٔ ادمین‌ها.
  • #userid شمارهٔ اتصال از status است، نه رتبه، شمارهٔ Steam یا ردیف منو. پس از اتصال مجدد، دوباره شماره را بررسی کن.
  • در دستورهای عمومی، نام ناقص فقط وقتی هدف روشنی می‌دهد که یکتا باشد. برای نام چندکلمه‌ای گیومه بگذار؛ userid معمولاً کم‌ابهام‌تر است.
  • فلگ‌ها پیش‌فرض‌اند؛ Overrides، گروه‌ها و مصونیت می‌توانند دسترسی واقعی را تغییر دهند. Root‌کردن افراد راه‌حل معمول «گزینهٔ غیرفعال» نیست.
  • در KB Menu، فهرست بن برای دسترسی d یا e قابل‌مشاهده است؛ تأیید رفع بن فقط با e انجام می‌شود.

مبنای فلگ‌ها: تعریف رسمی دسترسی‌های SourceMod. قوانین منوی اختصاصی از سورس player_action_menu.sp استخراج شده‌اند.

پیوست مدیر فنی — تنظیمات سرور، نه دستور روزمرهٔ بازیکن
10

پیکربندی، راند و پلاگین‌ها

مدیر فنی

نام فایل‌ها در جدول‌ها نسبت به پوشهٔ بازی cstrike است. فایل‌ها را قبل از تغییر بکاپ بگیر؛ این مسیرها برای مطالعه‌اند و دکمهٔ کپی برای اجرای مسیر در کنسول نیست.

فایل / محلچه چیزی اینجا تنظیم می‌شود؟
addons/sourcemod/configs/gamemodes.cfgفهرست مودها، پلاگین‌های اختصاصی و دستور اجرای کانفیگ هر مود. وابستگی‌های GunGame باید با ترتیب صحیح تعریف شوند.
cfg/multimod/<mode>.cfgتنظیمات نهایی مود؛ مثلاً gungame.cfg و deathmatch.cfg برای Friendly Fire. مدیر مود این فایل را پس از آماده‌شدن مپ اجرا می‌کند.
cfg/sourcemod/plugin.gamemode-manager.cfgسیاست حفظ مود/بازگشت به مود پیش‌فرض، مود پیش‌فرض و Debug.
cfg/sourcemod/player_action_menu.cfgروش دریافت لاگ eSTEAMATiON و مسیر لاگ برای KB Menu.
cfg/sourcemod/server_social_links.cfgاطلاعات تماس، فاصلهٔ اعلان‌ها و فعال‌بودن پیام ورود/اعلان خودکار.
cfg/sourcemod/smac_netgraph4.cfgتنظیمات NetGraph Enforcer؛ توسط AutoExecConfig همان پلاگین ساخته/خوانده می‌شود.

در مولتی‌مود، مقدار Friendly Fire و سایر تنظیمات مود را فقط در server.cfg نگذار؛ کانفیگ مود بعداً اجرا می‌شود و می‌تواند مقدار را عوض کند. آخرین مقدار اجراشده مؤثر است. Friendly Fire برای GunGame و Deathmatch برابر ۱ و برای چهار مود دیگر برابر ۰ تعریف شده بود.

CVarهای موردنیاز پلاگین‌های جدید — کنسول سرور

نام و مقدارمعنی / نکته
sm_kb_est_mode 3۰: خاموش؛ ۱: Hook لاگ بازی؛ ۲: خواندن فایل؛ ۳: هر دو جریان مستقل. پیام‌های دو جریان برای ساخت تطبیق با هم ترکیب نمی‌شوند.
sm_kb_est_log_dir ""مسیر پیش‌فرض لاگ بازی. نمونهٔ مسیر مطلق در کانتینر Linux: /home/container/cstrike/logs.
sm_social_enabled 1کل قابلیت لینک‌ها فعال. مقدار ۰ پیام‌ها و استفادهٔ معمول از دستورهای لینک را غیرفعال می‌کند.
sm_social_auto 0
sm_social_join 0
اولی اعلان شروع/دوره‌ای را خاموش می‌کند؛ دومی فهرست خصوصی هنگام ورود را. نمایش دستی با !links، با enabled=1، مستقل است.
sm_social_interval 120فاصلهٔ اعلان‌ها به ثانیه؛ حداقل ۳۰ ثانیه.
sm_social_admin
sm_social_telegram
sm_social_instagram
sm_social_channel
sm_social_rubika
متغیرهای اطلاعات تماس. مقدار خالی، همان ورودی را مخفی می‌کند؛ شناسهٔ کوتاه بنویس و از خط خیلی بلند پرهیز کن.
sm_social_colors 0
sm_social_prefix "[Server]"
۰ رنگ عادی عنوان/پیشوند را حفظ می‌کند؛ ۱ حالت عنوان رنگی را فعال می‌کند. شناسهٔ تماس در کلاینت RGB سازگار آبی روشن است.
sm_netgraph_kick 1
sm_netgraph_force 1
sm_netgraph_strict 0
پیش‌فرض بسته: کیک در صورت مقدار قابل‌خواندنِ غیر۴، درخواست خودکار مقدار۴ و عدم کیک صرفاً به دلیل ناتوانی در خواندن CVar.
clientmod_version
se_shootpositionfix
در نسخهٔ تشخیصی بسته: 1.7.1-shootfix-off1 و مقدار قفل‌شدهٔ ۰. این نسخه رفع قطعی مشکل ناپدیدشدن سلاح را اثبات نمی‌کند.
clientmod_private
clientmod_client_version_min
پالیسی مجازبودن کلاینت و حداقل نسخه. پیش‌فرض بسته: private=0 و حداقل نسخهٔ ClientMod برابر 3.0.1.1837؛ تنظیم واقعی مدیر ممکن است متفاوت باشد.

مدیریت راند — فقط با اطلاع از مود فعال

دستور سرورکاربرد
mp_restartgame 3راه‌اندازی دوبارهٔ بازی/راند پس از ۳ ثانیه؛ ری‌استارت فرآیند سرور یا تغییر مود نیست.
mp_roundtime <minutes>مدت راند؛ بازه و اثر آن ممکن است توسط مود/پلاگین تغییر کند. صفر را به معنی «راند بی‌نهایت» فرض نکن.
mp_timelimit <minutes>زمان مپ؛ برای حالت دلخواه، با سیستم تعویض مپ/رأی‌گیری فعال هماهنگ شود.
mp_freezetime <seconds>زمان توقف ابتدای راند؛ در مودهای غیرراندی ممکن است رفتار متفاوت باشد.
mp_friendlyfireبدون مقدار، مقدار جاری را بررسی کن؛ برای تغییر دائمی سیاست مود، فایل همان مود را اصلاح کن.

بررسی پلاگین‌ها، بدون تغییر بی‌دلیل

sm plugins list
sm exts list
meta list

برای خطای یک پلاگین، sm plugins info <number> را بررسی کن. دستورهای sm plugins load، unload و reload ابزار مدیر فنی‌اند، نه راه معمول تغییر مود. ClientMod نسخهٔ تشخیصی را Hot Reload نکن؛ دستورالعمل بسته، توقف کامل، بکاپ، جایگزینی همان فایل و راه‌اندازی مجدد را توصیه می‌کند.

سورس ZIP شامل Materialهای Blind Circle نیست. بدون frame_00 تا frame_20 با هر دو پسوند .vmt و .vtf در materials/overlays/blindcircle و امکان دریافت آن‌ها، این قابلیت را آماده فرض نکن. سورس، نمایش فلش پیش‌فرض را تغییر می‌دهد؛ نبود فایل‌ها باید قبل از انتشار تست شود.

11

نگهداری بن‌ها و ارتقای نسخه

دادهٔ خصوصی
مسیر در بازی سرورمحتوا / کاربرد
addons/sourcemod/data/sqlite/kbmenu_managed.sq3دیتابیس اصلی نسخهٔ ۲.۱: بن‌ها، اطلاعات مهاجرت و تاریخچهٔ اتصال‌ها.
addons/sourcemod/logs/kb_connections.logتاریخچهٔ متنی userid، نام، IP، شناسه و منبع شناسایی. خصوصی است و نباید در FastDL یا راهنمای عمومی منتشر شود.
addons/sourcemod/data/kb_bans.kv
addons/sourcemod/data/kb_bans.kv.bak
فایل‌های نسخهٔ ۲.۰؛ در نخستین استفاده از دیتابیس جدید، مهاجرت کنترل‌شده انجام می‌شود. فایل‌های قدیمی بدون تغییر نگه داشته می‌شوند.
addons/sourcemod/logs/errors_*.logخطای SourceMod، SQL، دسترسی فایل و لود پلاگین؛ فقط قسمت مرتبط و پس از حذف اطلاعات حساس به اشتراک گذاشته شود.
  • پیش از ارتقا، نسخهٔ فعلی SMX و فایل‌های داده را با سرور متوقف یا ابزار بکاپ استاندارد SQLite پشتیبان بگیر. دیتابیس موجود را با فایل خالی جایگزین نکن.
  • هم‌زمان دو نسخهٔ فعال از player_action_menu.smx با نام متفاوت نگه ندار. تنها فایل‌های کامپایل‌شدهٔ .smx در پوشهٔ فعال پلاگین‌ها اجرا می‌شوند؛ ZIP فعلی فقط سورس دارد.
  • بن/رفع بن قبل از اعلام موفقیت در SQLite ثبت می‌شود. خطای ذخیره نباید به‌عنوان عملیات موفق گزارش شود.
  • انقضا بر اساس ساعت واقعی است، حتی وقتی بازیکن آفلاین است. بن‌های منقضی ممکن است در تاریخچه بمانند، ولی در لیست بن فعال نشان داده نمی‌شوند.
  • اجرای بن‌ها در ورود، تغییر اطلاعات بازیکن و بررسی‌های دوره‌ای هر ۳۰ ثانیه انجام می‌شود. خاموش‌کردن پلاگین، اعمال بن‌های اختصاصی آن را متوقف می‌کند.
  • دیتابیس و تاریخچهٔ اتصال، خودکار پاک/چرخانده نمی‌شوند؛ اندازه، حریم خصوصی و دسترسی فایل‌ها را جدا مدیریت کن.

KB Menu بن‌های موتور بازی، SourceBans، سایر پلاگین‌ها یا مسیر قدیمیِ نسخهٔ ۱.۰ را خودکار وارد/حذف نمی‌کند. مهاجرت فایل‌های نسخهٔ ۲.۰ را با تبدیل همهٔ بن‌های سرور اشتباه نگیر.

برای انتشار عمومی این راهنما، هیچ دیتابیس، فایل تاریخچهٔ اتصال، IP شخصی بازیکن، رمز RCON یا کلید دسترسی لازم نیست. این سند چنین داده‌ای در خود ندارد.

12

مشکلات رایج و گزارش درست

همهٔ نقش‌ها
مشکلاقدام مناسب
Unknown command برای دستور جدیداول محل اجرا را بررسی کن: چت، کنسول بازی یا کنسول سرور. مدیر، نصب نسخهٔ موردنظر را با sm plugins list بررسی کند؛ وجود سورس روی سیستم کافی نیست.
منوی !kbmenu باز نمی‌شودادمین باید داخل بازی باشد و دسترسی Kick/Ban/Unban داشته باشد. در کنسول اختصاصی سرور منوی تعاملی ظاهر نمی‌شود.
بازیکن در فهرست قابل‌انتخاب نیستممکن است خارج شده باشد، بات/SourceTV باشد، خودت باشی یا مصونیتش اجازهٔ هدف‌گیری ندهد؛ شمارهٔ اتصال را دوباره بررسی کن.
گزینهٔ Steam ID غیرفعال استبخش ۰۶: نسخه، وضعیت لاگ، اتصال تازهٔ کنترل‌شده و sm_kb_ids. از آخرین نام/IP برای حدس‌زدن شناسه استفاده نکن.
لینک‌ها در چت دیده نمی‌شوندبعد از ۵ ثانیه sm_links را در کنسول بازی بزن و خروجی کنسول را هم ببین. مدیر، sm_social_status و ورودی‌های غیرخالی را بررسی کند.
کیک با پیام NetGraphدر کنسول بازی net_graph 4 بزن و دوباره وصل شو. اگر همچنان رخ داد، متن پیام و نوع/نسخهٔ کلاینت را برای ادمین بفرست.
نمایش فلش خراب یا Material گم‌شدهمدیر باید فایل‌های Blind Circle، دانلود کلاینت و تنظیمات دریافت فایل را بررسی کند. سورس بسته Materialها را همراه ندارد.
بعد از انتخاب مود، بازی هنوز همان مود استsm_nextgamemode مود مپ بعدی را تعیین می‌کند. ادمین باید سپس به مپ معتبر تغییر دهد و sm_currentgamemode را بررسی کند.
map not foundنام دقیق مپ روی سرور را بررسی کن؛ نام نمایش‌داده‌شده یا نام فایل بدون پسوند باید با مپ نصب‌شده تطبیق داشته باشد. خطای مپِ ناموجود را کرش فرض نکن.
روی «Server is changing level» می‌ماندبازیکن زمان، نام مپ و مود را ثبت کند؛ مدیر لاگ سرور و وضعیت پنل را بررسی کند. بازگشت به Dust2 به‌تنهایی علت را اثبات نمی‌کند؛ ممکن است فرآیند با مپ Startup دوباره شروع شده باشد.
پنل روی starting گیر می‌کندمدیر فنی آمادگی واقعی سرور، خروجی کنسول و شرط تشخیص شروع در پنل را بررسی کند. تکرار بی‌وقفهٔ خاموشی اجباری/ری‌استارت، روش تشخیص علت نیست.
مقدار تنظیم بعد از تغییر مپ برمی‌گردددر مولتی‌مود، ترتیب اجرای server.cfg، AutoExecConfig پلاگین‌ها و کانفیگ نهایی مود مهم است؛ تغییر صرفاً کنسولی الزاماً دائمی نیست.
برای گزارش به ادمین: نام خودت در بازی، زمان تقریبی، مود، مپ، کاری که قبل از مشکل انجام دادی، متن دقیق خطا و در صورت امکان تصویر/دمو را بفرست. برای اعتراض به بن، شمارهٔ Ban # و نوع بن را هم ذکر کن. رمز، کلید SSH یا دیتابیس کامل نفرست.
BERNO · راهنمای سرور مولتی‌مود و پلاگین‌های Kick و Ban · نسخهٔ سند ۱.۱ · ۷ اکتبر ۲۰۲۶www.berno.app

مقالات مرتبط

راهنمای سرور مولتی‌مود و پلاگین‌های Kick و Ban | برنو