server.cfg
توضیحات
server.cfgفایل پیکربندی سرور است که به شما امکان تغییر انواع مختلف تنظیمات سرور sa-mp خود را میدهد.- این فایل برای هر سرور ضروری است و باید در دایرکتوری سرور کنار برنامه سرور (samp-server.exe) قرار گیرد.
کنسول
| تنظیم | نوع | مقدار پیشفرض | فقط خواندنی | قانون | تأثیر |
|---|---|---|---|---|---|
| echo | string | Executing Server Config... | بله | خیر | آنچه samp-server.exe هنگام اجرای server.cfg در کنسول سرور چاپ میکند. اصلاً نیازی به تغییر این نیست زیرا فقط شما کنسول را خواهید دید. |
| rcon_password | string | changeme | خیر | خیر | رمز عبور استفاده شده برای مدیریت سرور و استفاده از remote console (rcon). باید مطمئن شوید که آن را به چیزی سخت برای شکستن تغییر دهید تا دیگران نتوانند کنترل سرور شما را در دست بگیرند. سرور شما شروع نخواهد شد اگر changeme رمز عبور RCON باشد! |
| rcon | bool | 1 | خیر | خیر | تعیین میکند که آیا ویژگی Remote Console باید استفاده شود. روی 1 تنظیم کنید تا فعال شود یا 0 برای غیرفعال کردن. |
اسکریپتها
| تنظیم | نوع | مقدار پیشفرض | فقط خواندنی | قانون | تأثیر |
|---|---|---|---|---|---|
| gamemode(n) (N) (t) | string | gamemode0 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. |
مرورگر سرور
| تنظیم | نوع | مقدار پیشفرض | فقط خواندنی | قانون | تأثیر |
|---|---|---|---|---|---|
| announce | bool | 1 | خیر | خیر | تعیین میکند که آیا سرور باید در masterlist SA-MP اعلان شود. روی 1 تنظیم کنید تا فعال شود یا 0 برای غیرفعال کردن. |
| query | bool | 1 | خیر | خیر | تعیین میکند که آیا اطلاعات سرور باید در مرورگر سرور نمایش داده شود. روی 1 تنظیم کنید تا فعال شود یا 0 برای غیرفعال کردن. بازیکنان همچنان میتوانند به سروری که query را غیرفعال کرده بپیوندند، اما مرورگر سرور هیچ اطلاعاتی نمایش نخواهد داد. |
| hostname | string | SA-MP Server | خیر | خیر | نامی که در مرورگر سرور و زمانی که بازیکن به سرور متصل میشود نشان داده خواهد شد. |
| language | string | خیر | خیر | زبانی که در مرورگر سرور ظاهر میشود. بازیکنان میتوانند از این برای فیلتر کردن سرورها بر اساس زبان در مرورگر سرور استفاده کنند. نکته: این متغیر سرور در 0.3.7 اضافه شد و در نسخههای قبلی تأثیری نخواهد داشت. | |
| mapname | string | San Andreas | خیر | بله | نام نقشهای که در مرورگر سرور ظاهر میشود. این میتواند هر چیزی باشد، مثلاً My Stunt Map. |
| gamemodetext | string | Unknown | خیر | خیر | مودی که در مرورگر سرور نشان داده خواهد شد. استفاده از SetGameModeText همین تأثیر را دارد و مقدار استفاده شده در server.cfg را نادیده میگیرد. اگر چندین گیم مود دارید که نیاز به متنهای مختلف گیم مود دارند، از آن تابع استفاده کنید. |
| weather | string* | 10 | خیر | بله | آب و هوای سراسری که سرور استفاده میکند و در مرورگر سرور نشان داده خواهد شد. استفاده از این تنظیم در فایل server.cfg باعث کرش برنامه سرور در startup خواهد شد. به جای آن از SetWeather برای تغییر این تنظیم استفاده کنید. |
| worldtime | string* | 12:00 | خیر | بله | زمان سراسری که سرور استفاده میکند و در مرورگر سرور نشان داده خواهد شد. استفاده از این تنظیم در فایل server.cfg تأثیری ندارد. به جای آن از SetWorldTime برای تغییر این تنظیم استفاده کنید. |
| gravity | string* | 0.008 | خیر | خیر | گرانش سراسری که سرور استفاده میکند. استفاده از این تنظیم در فایل server.cfg باعث کرش برنامه سرور در startup خواهد شد. به جای آن از SetGravity برای تغییر این تنظیم استفاده کنید. |
| weburl | string | www.open.mp | خیر | بله | وبسایتی که مردم میتوانند بازدید کنند تا اطلاعات بیشتری در مورد سرور کسب کنند. |
| version | string | بله | بله | نسخه SA-MP که سرور استفاده میکند و در مرورگر سرور نشان داده خواهد شد. استفاده از این تنظیم در فایل server.cfg تأثیری ندارد. | |
| maxplayers | int | 50 | بله | خیر | حداکثر مقدار بازیکنانی که سرور شما میتواند نگه دارد. با تغییر این عدد میتوانید تعداد بازیکنانی که میتوانند وارد سرور شوند را تغییر دهید. حداکثر 1000 و حداقل 1 است. |
| password | string | خیر | خیر | رمز عبور استفاده شده برای قفل کردن سرور. هنگام استفاده از این، فقط بازیکنانی که این رمز عبور را میدانند خواهند توانست به سرور بپیوندند. |
[*] برخی تنظیمات نوع متفاوتی از آنچه ممکن است فکر کنید دارند.
شبکهسازی
| تنظیم | نوع | مقدار پیشفرض | فقط خواندنی | قانون | تأثیر |
|---|---|---|---|---|---|
| sleep | int | 5 | خیر | خیر | زمان به میلیثانیه که thread اصلی sa-mp و شبکه raknet در طول هر چرخه sync به صورت بیکار "خواب" خواهد بود. مقادیر بالاتر پردازش سرور را کاهش میدهد، اما کیفیت sync را کم میکند. مقادیر پایینتر پردازش سرور را افزایش میدهد، اما کیفیت sync را بهبود میبخشد. تغییر این مقدار توصیه نمیشود مگر اینکه تعداد بازیکنان شما خیلی زیاد باشد و مشکلات پایداری fps سرور داشته باشید. |
| lanmode | bool | 0 | خیر | خیر | متغیر منسوخ شده، تأثیری ندارد. |
| bind | string | بله | خیر | آدرس IP که سرور باید استفاده کند. سرور مجبور خواهد شد از این آدرس IP به جای انتخاب خودکار آدرس IP آزاد استفاده کند. این آدرس IP باید با یکی از آدرسهای اختصاص یافته به کارت شبکه در سرور مطابقت داشته باشد. برای اجرای چندین سرور در همان پورت در همان جعبه مفید است. | |
| port | int | 8192 (7777 هم معمولاً استفاده میشود) | بله | خیر | پورتی که سرور باید استفاده کند. برای اینکه بازیکنان از خارج LAN شما به سرور بپیوندند نیاز به Port Forward دارید. |
| conncookies | int* | 1 | خیر | خیر | سیستم connection cookie 0.3.7 را کنترل میکند. روی 1 تنظیم کنید تا فعال شود یا 0 برای غیرفعال کردن. نکته: این متغیر سرور در 0.3.7 R2 اضافه شد و در نسخههای قبلی تأثیری نخواهد داشت. |
| cookielogging | int* | 0 | خیر | خیر | لاگگیری connection cookie های درخواست شده توسط بازیکنان تازه متصل شونده را کنترل میکند. روی 1 تنظیم کنید تا فعال شود یا 0 برای غیرفعال کردن. نکته: این متغیر سرور در 0.3.7 R2 اضافه شد و در نسخههای قبلی تأثیری نخواهد داشت. |
| connseedtime | int | 300000 | خیر | خیر | زمان به میلیثانیه که مقدار seed connection cookie بهروزرسانی میشود. نکته: این متغیر سرور در 0.3.7 اضافه شد و در نسخههای قبلی تأثیری نخواهد داشت. |
| minconnectiontime | int | 0 | خیر | خیر | زمان به میلیثانیه که سرور قبل از پذیرش اتصال ورودی دیگر منتظر خواهد ماند. توصیه نمیشود از این متغیر استفاده کنید مگر اینکه سرور شما تحت حمله connection flood باشد. |
| messageslimit | int | 500 | خیر | خیر | حداکثر تعداد پیامهایی که کاربر میتواند در ثانیه ارسال کند. |
| messageholelimit | int | 3000 | خیر | خیر | تنظیم سطح شبکه برای مقابله با حملات DoS. |
| ackslimit | int | 3000 | خیر | خیر | |
| playertimeout | int | 10000 | خیر | خیر | زمان به میلیثانیه که بعد از آن بازیکن timeout خواهد شد وقتی هیچ دادهای به سرور ارسال نکند. |
| mtu | int | 576 | بله | خیر | اینجا را ببینید. نکته: این متغیر سرور در 0.3.8 اضافه شد و در نسخههای قبلی تأثیری نخواهد داشت. |
[*] برخی تنظیمات نوع متفاوتی از آنچه ممکن است فکر کنید دارند.
لاگگیری
| تنظیم | نوع | مقدار پیشفرض | فقط خواندنی | قانون | تأثیر |
|---|---|---|---|---|---|
| output | bool | 0 | خیر | خیر | تعیین میکند که آیا پیامهای لاگ (مثلاً print/printf از اسکریپتها یا logprintf از پلاگینها) باید در کنسول سرور تکرار شوند. روی 1 تنظیم کنید تا فعال شود یا 0 برای غیرفعال کردن. این گزینه فقط در سرورهای لینوکس تأثیر دارد. |
| timestamp | bool | 1 | خیر | خیر | تعیین میکند که آیا timestamp باید با هر پیغام کنسول چاپ شود. روی 1 تنظیم کنید تا فعال شود یا 0 برای غیرفعال کردن. |
| logtimeformat | string | [%H:%M:%S] | بله | خیر | فرمت timestamp که باید استفاده شود. فرمت بر اساس فرمت strftime از C/C++ است. در اینجا چند مثال آورده شده: [%H:%M:%S] این فقط زمان را نمایش میدهد، و فرمت پیشفرض برای همه نسخههای قبلی سرور SA-MP است. [%d/%m/%Y %H:%M:%S] این تاریخ را به فرمت dd/mm/yyyy نشان میدهد و سپس زمان به فرمت hour:minute:second. |
| logqueries | bool | 0 | خیر | خیر | تعیین میکند که آیا همه query هایی که توسط بازیکنان به سرور ارسال میشود باید لاگ شوند. روی 1 تنظیم کنید تا فعال شود یا 0 برای غیرفعال کردن. در طول حمله DDoS بسیار مفید است. |
| chatlogging | int* | 1 | خیر | خیر | تعیین میکند که آیا چت بازیکنان باید در کنسول سرور نشان داده شود. برای جلوگیری از پر شدن لاگ یا اگر راهحل لاگگیری چت اسکریپتی دیگری دارید مفید است. روی 1 تنظیم کنید تا فعال شود یا 0 برای غیرفعال کردن. |
| db_logging | int* | 0 | خیر | خیر | خطاهای تابع sqlite db_* را در کنسول سرور لاگ میکند. نکته: این متغیر سرور در 0.3.7 R2 اضافه شد و در نسخههای قبلی تأثیری نخواهد داشت. |
| db_log_queries | int* | 0 | خیر | خیر | همه فراخوانیهای sqlite db_query شامل رشته query را لاگ میکند. نکته: این متغیر سرور در 0.3.7 R2 اضافه شد و در نسخههای قبلی تأثیری نخواهد داشت. |
[*] برخی تنظیمات نوع متفاوتی از آنچه ممکن است فکر کنید دارند.
کلاینت
| تنظیم | نوع | مقدار پیشفرض | فقط خواندنی | قانون | تأثیر |
|---|---|---|---|---|---|
| onfoot_rate* | int | 30 | بله | خیر | زمان به میلیثانیه که کلاینت باید سرور را با دادههای جدید هنگام پیاده بودن بهروزرسانی کند. |
| incar_rate | int | 30 | بله | خیر | زمان به میلیثانیه که کلاینت باید سرور را با دادههای جدید هنگام در خودرو بودن بهروزرسانی کند. |
| weapon_rate | int | 30 | بله | خیر | زمان به میلیثانیه که کلاینت باید سرور را با دادههای جدید هنگام شلیک سلاح بهروزرسانی کند. |
| stream_distance* | float | 200.0 | خیر | خیر | فاصله در صفحه X,Y که بازیکنان entities سرور را stream خواهند کرد. حداکثر 400.0 و حداقل 50.0 است. مقادیر بالاتر باعث میشود بازیکنان entities سرور را در فاصله بیشتری ببینند، اما نیاز به پردازش بیشتر کلاینت و احتمالاً پهنای باند بیشتری دارد. |
| stream_rate* | int | 1000 | خیر | خیر | زمان به میلیثانیه قبل از اینکه stream شدن entities سرور برای هر بازیکن دوباره تست شود. حداکثر 5000 و حداقل 500 است. مقادیر پایینتر پردازش سرور را افزایش میدهد زیرا باید شرایط streaming را برای هر بازیکن بیشتر بررسی کند. |
[*] مقادیر پایینتر onfoot_rate، incar_rate و weapon_rate عملکرد sync را بهبود میبخشد، اما پهنای باند بیشتری استفاده میکند.
NPC ها
| تنظیم | نوع | مقدار پیشفرض | فقط خواندنی | قانون | تأثیر |
|---|---|---|---|---|---|
| maxnpc | int | 0 | خیر | خیر | حداکثر مقدار NPC هایی که سرور شما میتواند نگه دارد. با تغییر این عدد میتوانید تعداد slot های بازیکن قابل استفاده توسط NPC ها را تغییر دهید. |
جبران تأخیر
| تنظیم | نوع | مقدار پیشفرض | فقط خواندنی | قانون | تأثیر |
|---|---|---|---|---|---|
| lagcompmode | int | 1 | بله | خیر | 0: جبران تأخیر را کاملاً غیرفعال کن. 1: جبران تأخیر را کاملاً فعال کن. 2: فقط جبران تأخیر موقعیت را فعال کن. این یعنی چرخش بازیکن برای جبران تأخیر در نظر گرفته نخواهد شد. |
| lagcomp | string | On | بله | بله | احتمالاً به طور خودکار روی On یا Off بسته به تنظیم lagcompmode تنظیم شده. |
مدلهای سفارشی
| تنظیم | نوع | مقدار پیشفرض | فقط خواندنی | قانون | تأثیر |
|---|---|---|---|---|---|
| useartwork | bool | 0 | بله | خیر | تعیین میکند که آیا سرور از مدلهای سفارشی از پوشه models استفاده کند. روی 1 تنظیم کنید تا فعال شود یا 0 برای غیرفعال کردن. نکته: این متغیر سرور در 0.3.8 اضافه شد و در نسخههای قبلی تأثیری نخواهد داشت. |
| artwork | string | No | بله | بله | احتمالاً به طور خودکار روی No یا Yes بسته به تنظیم useartwork تنظیم شده. نکته: این متغیر سرور در 0.3.8 اضافه شد و در نسخههای قبلی تأثیری نخواهد داشت. |
| artpath | string | models | بله | خیر | مسیری که مدلهای سفارشی در آن قرار دارند. نکته: این متغیر سرور در 0.3.8 اضافه شد و در نسخههای قبلی تأثیری نخواهد داشت. |
سایر
| تنظیم | نوع | مقدار پیشفرض | فقط خواندنی | قانون | تأثیر |
|---|---|---|---|---|---|
| myriad | bool | 0 | خیر | خیر | استفاده نمیشود. احتمالاً سالها پیش سازگاری با مود قدیمی GTA San Andreas به نام "Myriad Islands" را فعال میکرد، احتمالاً قبل از سال 2008. |
| nosign | string | بله | خیر | استفاده نمیشود. |
یادداشتها
- مقادیری که به عنوان "فقط خواندنی" علامتگذاری شدهاند (
/rcon varlistنشان میدهد) نمیتوانند در طول runtime تغییر کنند. همه مقادیر دیگر میتوانند (موقتاً) با ارسال آنها به SendRconCommand تغییر کنند. - مقادیری که به عنوان "قانون" علامتگذاری شدهاند (
/rcon varlistنشان میدهد) در مرورگر سرور در بخش Rules نمایش داده میشوند. - اسکریپتها نیازی ندارند در پوشههای gamemodes یا filterscripts باشند. اطلاعات در server.cfg یک مسیر است، و بنابراین میتواند از ".." استفاده کند.