پرش به مطلب اصلی

server.cfg

توضیحات

  • server.cfg فایل پیکربندی سرور است که به شما امکان تغییر انواع مختلف تنظیمات سرور sa-mp خود را می‌دهد.
  • این فایل برای هر سرور ضروری است و باید در دایرکتوری سرور کنار برنامه سرور (samp-server.exe) قرار گیرد.

کنسول

تنظیمنوعمقدار پیش‌فرضفقط خواندنیقانونتأثیر
echostringExecuting Server Config...بلهخیرآنچه samp-server.exe هنگام اجرای server.cfg در کنسول سرور چاپ می‌کند. اصلاً نیازی به تغییر این نیست زیرا فقط شما کنسول را خواهید دید.
rcon_passwordstringchangemeخیرخیررمز عبور استفاده شده برای مدیریت سرور و استفاده از remote console (rcon). باید مطمئن شوید که آن را به چیزی سخت برای شکستن تغییر دهید تا دیگران نتوانند کنترل سرور شما را در دست بگیرند. سرور شما شروع نخواهد شد اگر changeme رمز عبور RCON باشد!
rconbool1خیرخیرتعیین می‌کند که آیا ویژگی Remote Console باید استفاده شود. روی 1 تنظیم کنید تا فعال شود یا 0 برای غیرفعال کردن.

اسکریپت‌ها

تنظیمنوعمقدار پیش‌فرضفقط خواندنیقانونتأثیر
gamemode(n) (N) (t)stringgamemode0 grandlarc 1خیرخیرفایل .amx در پوشه gamemodes که سرور باید برای اجرا به عنوان گیم مود استفاده کند. (n) شماره گیم مود، (N) نام گیم مود بدون پسوند .amx، و (t) تعداد دفعاتی است که گیم مود باید بازی شود قبل از تغییر به گیم مود بعدی.
filterscripts (N)stringبلهخیرفایل .amx در پوشه filterscripts که سرور باید برای اجرا به عنوان فیلتر اسکریپت استفاده کند. (N) نام فیلتر اسکریپت بدون پسوند .amx است. فیلتر اسکریپت‌ها اسکریپت‌هایی هستند که در پس‌زمینه گیم مود شما اجرا می‌شوند. آنها برای اضافه کردن موارد اضافی به سرور بدون ویرایش گیم مود هستند. اگر می‌خواهید ویژگی خاصی را به بیش از یک گیم مود منتقل کنید بسیار مفید است. اگر چندین فیلتر اسکریپت می‌خواهید بارگذاری کنید، همه آنها را در یک ردیف با "فاصله" جدا کنید، مثلاً filterscripts script1 script2.
plugins (N)stringبلهخیرفایل .dll یا .so در پوشه plugins که سرور باید برای اجرا به عنوان پلاگین استفاده کند. در ویندوز (N) نام پلاگین بدون پسوند .dll است. اما در لینوکس پسوند .so مورد نیاز است! پلاگین‌ها اسکریپت‌هایی هستند که برای بهبود گیم مود و فیلتر اسکریپت طراحی شده‌اند. اگر چندین پلاگین می‌خواهید بارگذاری کنید، همه آنها را در یک ردیف با "فاصله" جدا کنید، مثلاً plugins plugin1 plugin2.

مرورگر سرور

تنظیمنوعمقدار پیش‌فرضفقط خواندنیقانونتأثیر
announcebool1خیرخیرتعیین می‌کند که آیا سرور باید در masterlist SA-MP اعلان شود. روی 1 تنظیم کنید تا فعال شود یا 0 برای غیرفعال کردن.
querybool1خیرخیرتعیین می‌کند که آیا اطلاعات سرور باید در مرورگر سرور نمایش داده شود. روی 1 تنظیم کنید تا فعال شود یا 0 برای غیرفعال کردن. بازیکنان همچنان می‌توانند به سروری که query را غیرفعال کرده بپیوندند، اما مرورگر سرور هیچ اطلاعاتی نمایش نخواهد داد.
hostnamestringSA-MP Serverخیرخیرنامی که در مرورگر سرور و زمانی که بازیکن به سرور متصل می‌شود نشان داده خواهد شد.
languagestringخیرخیرزبانی که در مرورگر سرور ظاهر می‌شود. بازیکنان می‌توانند از این برای فیلتر کردن سرورها بر اساس زبان در مرورگر سرور استفاده کنند.

نکته: این متغیر سرور در 0.3.7 اضافه شد و در نسخه‌های قبلی تأثیری نخواهد داشت.
mapnamestringSan Andreasخیربلهنام نقشه‌ای که در مرورگر سرور ظاهر می‌شود. این می‌تواند هر چیزی باشد، مثلاً My Stunt Map.
gamemodetextstringUnknownخیرخیرمودی که در مرورگر سرور نشان داده خواهد شد. استفاده از SetGameModeText همین تأثیر را دارد و مقدار استفاده شده در server.cfg را نادیده می‌گیرد. اگر چندین گیم مود دارید که نیاز به متن‌های مختلف گیم مود دارند، از آن تابع استفاده کنید.
weatherstring*10خیربلهآب و هوای سراسری که سرور استفاده می‌کند و در مرورگر سرور نشان داده خواهد شد. استفاده از این تنظیم در فایل server.cfg باعث کرش برنامه سرور در startup خواهد شد. به جای آن از SetWeather برای تغییر این تنظیم استفاده کنید.
worldtimestring*12:00خیربلهزمان سراسری که سرور استفاده می‌کند و در مرورگر سرور نشان داده خواهد شد. استفاده از این تنظیم در فایل server.cfg تأثیری ندارد. به جای آن از SetWorldTime برای تغییر این تنظیم استفاده کنید.
gravitystring*0.008خیرخیرگرانش سراسری که سرور استفاده می‌کند. استفاده از این تنظیم در فایل server.cfg باعث کرش برنامه سرور در startup خواهد شد. به جای آن از SetGravity برای تغییر این تنظیم استفاده کنید.
weburlstringwww.open.mpخیربلهوبسایتی که مردم می‌توانند بازدید کنند تا اطلاعات بیشتری در مورد سرور کسب کنند.
versionstringبلهبلهنسخه SA-MP که سرور استفاده می‌کند و در مرورگر سرور نشان داده خواهد شد. استفاده از این تنظیم در فایل server.cfg تأثیری ندارد.
maxplayersint50بلهخیرحداکثر مقدار بازیکنانی که سرور شما می‌تواند نگه دارد. با تغییر این عدد می‌توانید تعداد بازیکنانی که می‌توانند وارد سرور شوند را تغییر دهید. حداکثر 1000 و حداقل 1 است.
passwordstringخیرخیررمز عبور استفاده شده برای قفل کردن سرور. هنگام استفاده از این، فقط بازیکنانی که این رمز عبور را می‌دانند خواهند توانست به سرور بپیوندند.

[*] برخی تنظیمات نوع متفاوتی از آنچه ممکن است فکر کنید دارند.

شبکه‌سازی

تنظیمنوعمقدار پیش‌فرضفقط خواندنیقانونتأثیر
sleepint5خیرخیرزمان به میلی‌ثانیه که thread اصلی sa-mp و شبکه raknet در طول هر چرخه sync به صورت بیکار "خواب" خواهد بود. مقادیر بالاتر پردازش سرور را کاهش می‌دهد، اما کیفیت sync را کم می‌کند. مقادیر پایین‌تر پردازش سرور را افزایش می‌دهد، اما کیفیت sync را بهبود می‌بخشد. تغییر این مقدار توصیه نمی‌شود مگر اینکه تعداد بازیکنان شما خیلی زیاد باشد و مشکلات پایداری fps سرور داشته باشید.
lanmodebool0خیرخیرمتغیر منسوخ شده، تأثیری ندارد.
bindstringبلهخیرآدرس IP که سرور باید استفاده کند. سرور مجبور خواهد شد از این آدرس IP به جای انتخاب خودکار آدرس IP آزاد استفاده کند. این آدرس IP باید با یکی از آدرس‌های اختصاص یافته به کارت شبکه در سرور مطابقت داشته باشد. برای اجرای چندین سرور در همان پورت در همان جعبه مفید است.
portint8192 (7777 هم معمولاً استفاده می‌شود)بلهخیرپورتی که سرور باید استفاده کند. برای اینکه بازیکنان از خارج LAN شما به سرور بپیوندند نیاز به Port Forward دارید.
conncookiesint*1خیرخیرسیستم connection cookie 0.3.7 را کنترل می‌کند. روی 1 تنظیم کنید تا فعال شود یا 0 برای غیرفعال کردن.

نکته: این متغیر سرور در 0.3.7 R2 اضافه شد و در نسخه‌های قبلی تأثیری نخواهد داشت.
cookieloggingint*0خیرخیرلاگ‌گیری connection cookie های درخواست شده توسط بازیکنان تازه متصل شونده را کنترل می‌کند. روی 1 تنظیم کنید تا فعال شود یا 0 برای غیرفعال کردن.

نکته: این متغیر سرور در 0.3.7 R2 اضافه شد و در نسخه‌های قبلی تأثیری نخواهد داشت.
connseedtimeint300000خیرخیرزمان به میلی‌ثانیه که مقدار seed connection cookie به‌روزرسانی می‌شود.

نکته: این متغیر سرور در 0.3.7 اضافه شد و در نسخه‌های قبلی تأثیری نخواهد داشت.
minconnectiontimeint0خیرخیرزمان به میلی‌ثانیه که سرور قبل از پذیرش اتصال ورودی دیگر منتظر خواهد ماند. توصیه نمی‌شود از این متغیر استفاده کنید مگر اینکه سرور شما تحت حمله connection flood باشد.
messageslimitint500خیرخیرحداکثر تعداد پیام‌هایی که کاربر می‌تواند در ثانیه ارسال کند.
messageholelimitint3000خیرخیرتنظیم سطح شبکه برای مقابله با حملات DoS.
ackslimitint3000خیرخیر
playertimeoutint10000خیرخیرزمان به میلی‌ثانیه که بعد از آن بازیکن timeout خواهد شد وقتی هیچ داده‌ای به سرور ارسال نکند.
mtuint576بلهخیراینجا را ببینید.

نکته: این متغیر سرور در 0.3.8 اضافه شد و در نسخه‌های قبلی تأثیری نخواهد داشت.

[*] برخی تنظیمات نوع متفاوتی از آنچه ممکن است فکر کنید دارند.

لاگ‌گیری

تنظیمنوعمقدار پیش‌فرضفقط خواندنیقانونتأثیر
outputbool0خیرخیرتعیین می‌کند که آیا پیام‌های لاگ (مثلاً print/printf از اسکریپت‌ها یا logprintf از پلاگین‌ها) باید در کنسول سرور تکرار شوند. روی 1 تنظیم کنید تا فعال شود یا 0 برای غیرفعال کردن. این گزینه فقط در سرورهای لینوکس تأثیر دارد.
timestampbool1خیرخیرتعیین می‌کند که آیا timestamp باید با هر پیغام کنسول چاپ شود. روی 1 تنظیم کنید تا فعال شود یا 0 برای غیرفعال کردن.
logtimeformatstring[%H:%M:%S]بلهخیرفرمت timestamp که باید استفاده شود. فرمت بر اساس فرمت strftime از C/C++ است. در اینجا چند مثال آورده شده:

[%H:%M:%S] این فقط زمان را نمایش می‌دهد، و فرمت پیش‌فرض برای همه نسخه‌های قبلی سرور SA-MP است.

[%d/%m/%Y %H:%M:%S] این تاریخ را به فرمت dd/mm/yyyy نشان می‌دهد و سپس زمان به فرمت hour:minute:second.
logqueriesbool0خیرخیرتعیین می‌کند که آیا همه query هایی که توسط بازیکنان به سرور ارسال می‌شود باید لاگ شوند. روی 1 تنظیم کنید تا فعال شود یا 0 برای غیرفعال کردن. در طول حمله DDoS بسیار مفید است.
chatloggingint*1خیرخیرتعیین می‌کند که آیا چت بازیکنان باید در کنسول سرور نشان داده شود. برای جلوگیری از پر شدن لاگ یا اگر راه‌حل لاگ‌گیری چت اسکریپتی دیگری دارید مفید است. روی 1 تنظیم کنید تا فعال شود یا 0 برای غیرفعال کردن.
db_loggingint*0خیرخیرخطاهای تابع sqlite db_* را در کنسول سرور لاگ می‌کند.

نکته: این متغیر سرور در 0.3.7 R2 اضافه شد و در نسخه‌های قبلی تأثیری نخواهد داشت.
db_log_queriesint*0خیرخیرهمه فراخوانی‌های sqlite db_query شامل رشته query را لاگ می‌کند.

نکته: این متغیر سرور در 0.3.7 R2 اضافه شد و در نسخه‌های قبلی تأثیری نخواهد داشت.

[*] برخی تنظیمات نوع متفاوتی از آنچه ممکن است فکر کنید دارند.

کلاینت

تنظیمنوعمقدار پیش‌فرضفقط خواندنیقانونتأثیر
onfoot_rate*int30بلهخیرزمان به میلی‌ثانیه که کلاینت باید سرور را با داده‌های جدید هنگام پیاده بودن به‌روزرسانی کند.
incar_rateint30بلهخیرزمان به میلی‌ثانیه که کلاینت باید سرور را با داده‌های جدید هنگام در خودرو بودن به‌روزرسانی کند.
weapon_rateint30بلهخیرزمان به میلی‌ثانیه که کلاینت باید سرور را با داده‌های جدید هنگام شلیک سلاح به‌روزرسانی کند.
stream_distance*float200.0خیرخیرفاصله در صفحه X,Y که بازیکنان entities سرور را stream خواهند کرد. حداکثر 400.0 و حداقل 50.0 است. مقادیر بالاتر باعث می‌شود بازیکنان entities سرور را در فاصله بیشتری ببینند، اما نیاز به پردازش بیشتر کلاینت و احتمالاً پهنای باند بیشتری دارد.
stream_rate*int1000خیرخیرزمان به میلی‌ثانیه قبل از اینکه stream شدن entities سرور برای هر بازیکن دوباره تست شود. حداکثر 5000 و حداقل 500 است. مقادیر پایین‌تر پردازش سرور را افزایش می‌دهد زیرا باید شرایط streaming را برای هر بازیکن بیشتر بررسی کند.

[*] مقادیر پایین‌تر onfoot_rate، incar_rate و weapon_rate عملکرد sync را بهبود می‌بخشد، اما پهنای باند بیشتری استفاده می‌کند.

NPC ها

تنظیمنوعمقدار پیش‌فرضفقط خواندنیقانونتأثیر
maxnpcint0خیرخیرحداکثر مقدار NPC هایی که سرور شما می‌تواند نگه دارد. با تغییر این عدد می‌توانید تعداد slot های بازیکن قابل استفاده توسط NPC ها را تغییر دهید.

جبران تأخیر

تنظیمنوعمقدار پیش‌فرضفقط خواندنیقانونتأثیر
lagcompmodeint1بلهخیر0: جبران تأخیر را کاملاً غیرفعال کن.

1: جبران تأخیر را کاملاً فعال کن.

2: فقط جبران تأخیر موقعیت را فعال کن. این یعنی چرخش بازیکن برای جبران تأخیر در نظر گرفته نخواهد شد.
lagcompstringOnبلهبلهاحتمالاً به طور خودکار روی On یا Off بسته به تنظیم lagcompmode تنظیم شده.

مدل‌های سفارشی

تنظیمنوعمقدار پیش‌فرضفقط خواندنیقانونتأثیر
useartworkbool0بلهخیرتعیین می‌کند که آیا سرور از مدل‌های سفارشی از پوشه models استفاده کند. روی 1 تنظیم کنید تا فعال شود یا 0 برای غیرفعال کردن.

نکته: این متغیر سرور در 0.3.8 اضافه شد و در نسخه‌های قبلی تأثیری نخواهد داشت.
artworkstringNoبلهبلهاحتمالاً به طور خودکار روی No یا Yes بسته به تنظیم useartwork تنظیم شده.

نکته: این متغیر سرور در 0.3.8 اضافه شد و در نسخه‌های قبلی تأثیری نخواهد داشت.
artpathstringmodelsبلهخیرمسیری که مدل‌های سفارشی در آن قرار دارند.

نکته: این متغیر سرور در 0.3.8 اضافه شد و در نسخه‌های قبلی تأثیری نخواهد داشت.

سایر

تنظیمنوعمقدار پیش‌فرضفقط خواندنیقانونتأثیر
myriadbool0خیرخیراستفاده نمی‌شود. احتمالاً سال‌ها پیش سازگاری با مود قدیمی GTA San Andreas به نام "Myriad Islands" را فعال می‌کرد، احتمالاً قبل از سال 2008.
nosignstringبلهخیراستفاده نمی‌شود.

یادداشت‌ها

  • مقادیری که به عنوان "فقط خواندنی" علامت‌گذاری شده‌اند (/rcon varlist نشان می‌دهد) نمی‌توانند در طول runtime تغییر کنند. همه مقادیر دیگر می‌توانند (موقتاً) با ارسال آنها به SendRconCommand تغییر کنند.
  • مقادیری که به عنوان "قانون" علامت‌گذاری شده‌اند (/rcon varlist نشان می‌دهد) در مرورگر سرور در بخش Rules نمایش داده می‌شوند.
  • اسکریپت‌ها نیازی ندارند در پوشه‌های gamemodes یا filterscripts باشند. اطلاعات در server.cfg یک مسیر است، و بنابراین می‌تواند از ".." استفاده کند.