---
title: "کنترل سرور | open.mp"
description: "دستورات مفید برای کنترل سرور."
canonical: https://omp.itsneufox.com/fa/docs/server/ControllingServer
language: fa
---

# کنترل سرور

## تغییر گیم مود

### اجرای گیم مود سفارشی/دانلودی

-   دایرکتوری که سرور را در آن نصب کرده‌اید باز کنید (مثلاً: /Rockstar Games/GTA San Andreas/server)
-   فایل .amx دانلودی/کامپایل شده را بگیرید و در پوشه gamemodes جایی که سرور را نصب کرده‌اید قرار دهید
-   از RCON برای تغییر مود استفاده کنید.
-   به جای آن می‌توانید مود جدید را به rotation اضافه کنید.

### استفاده از فیلتر اسکریپت‌ها

همان اجرای گیم مود سفارشی، به جز:

-   .amx را در پوشه‌ای به نام `filterscripts` قرار دهید
-   مسیر فیلتر اسکریپت را بدون پسوند `.amx` به `pawn.side_scripts` در [config.json](https://omp.itsneufox.com/fa/docs/server/config.json) اضافه کنید:

```json
{
    "pawn": {
        "side_scripts": [
            "filterscripts/scriptname"
        ]
    }
}
```

## رمز گذاشتن برای سرور

-   اگر می‌خواهید رمز اضافه کنید تا فقط دوستانتان بتوانند بپیوندند، این را به [config.json](https://omp.itsneufox.com/fa/docs/server/config.json) اضافه کنید:

```json
{
    "password": "whatever"
}
```

-   این سرور شما را با رمز محافظت می‌کند که رمز روی 'whatever' تنظیم شده - آن را به هر چیزی که می‌خواهید تغییر دهید.
-   همچنین می‌توانید رمز را در حین بازی با استفاده از `/rcon password newpasswordhere` تغییر دهید
-   می‌توانید رمز را با استفاده از `/rcon password 0` حذف کنید، یا با restart کردن سرور.

## استفاده از RCON

### ورود

می‌توانید در حین بازی با تایپ `/rcon login password` وارد شوید یا خارج از بازی با استفاده از حالت RCON در [Remote Console](https://omp.itsneufox.com/fa/docs/server/RemoteConsole).

رمز عبور RCON همان مقدار `rcon.password` است که در [config.json](https://omp.itsneufox.com/fa/docs/server/config.json) تنظیم کرده‌اید.

### اضافه کردن بن‌ها

##### bans.json

bans.json فایلی است که برای ذخیره بن‌ها استفاده می‌شود، شامل اطلاعات زیر در مورد بن:

-   IP
-   تاریخ
-   زمان
-   نام (نام شخص)
-   دلیل ([BanEx](https://omp.itsneufox.com/fa/docs/scripting/functions/BanEx) را ببینید)

برای اضافه کردن بن، به سادگی شیئی مانند زیر به آرایه JSON اضافه کنید:

```json
[
    {"address": "IP_HERE", "player": "PLAYER", "reason": "BAN REASON", "time": "2009-05-28T13:37:00+0000"}
]
```

جایی که `IP_HERE` است، جایی است که IP که می‌خواهید بن کنید را قرار می‌دهید.

##### تابع Ban()

تابع [Ban](https://omp.itsneufox.com/fa/docs/scripting/functions/Ban) می‌تواند برای بن کردن بازیکن از اسکریپت استفاده شود. تابع [BanEx](https://omp.itsneufox.com/fa/docs/scripting/functions/BanEx) دلیل اختیاری اضافه می‌کند مانند:

```json
[
    {"address": "13.37.13.37", "player": "Cheater", "reason": "INGAME BAN", "time": "2009-05-28T13:37:00+0000"}
]
```

##### دستور ban RCON

دستور ban RCON، که با تایپ /rcon ban در بازی یا تایپ "ban" در کنسول اجرا می‌شود، برای بن کردن بازیکن خاصی که در سرور شماست استفاده می‌شود، برای بن کردن IP بخش بعدی را ببینید.

به سادگی تایپ کنید:

```text
# در بازی:
/rcon ban PLAYERID

# کنسول:
ban PLAYERID
```

##### banip

دستور banip RCON، که با تایپ /rcon banip در بازی یا تایپ "banip" در کنسول اجرا می‌شود، برای بن کردن آدرس IP خاص استفاده می‌شود، برای بن کردن بازیکن در سرور با ID، بخش قبلی را ببینید. wildcard ها را برای rangeban می‌پذیرد.

به سادگی تایپ کنید:

```text
# در بازی:
/rcon banip IP

# کنسول:
banip IP
```

### حذف بن‌ها

وقتی کسی بن شد، دو راه برای unban کردن او وجود دارد.

-   حذف از bans.json
-   دستور RCON `unbanip`

#### bans.json

bans.json را می‌توان در دایرکتوری سرور open.mp شما یافت، شامل اشیائی با اطلاعات زیر در مورد هر بن:

-   IP
-   تاریخ
-   زمان
-   نام (نام شخص)
-   دلیل ([BanEx](https://omp.itsneufox.com/fa/docs/scripting/functions/BanEx) را ببینید)

مثال‌ها:

```json
[
    {"address": "127.8.57.32", "player": "NONE", "reason": "IP BAN", "time": "2009-06-13T13:37:00+0000"},
    {"address": "13.37.13.37", "player": "Kyeman", "reason": "INGAME BAN", "time": "2009-05-28T13:37:00+0000"}
]
```

برای unban کردن، به سادگی شیء را حذف کنید، سپس دستور RCON reloadbans را اجرا کنید تا سرور bans.json را دوباره بخواند.

#### unbanip

دستور unbanip RCON می‌تواند در بازی یا از کنسول سرور (جعبه سیاه) استفاده شود. برای unban کردن IP، به سادگی `/rcon unbanip IP_HERE` را در بازی یا `unbanip IP_HERE` را در کنسول تایپ کنید.

مثال:

```json
[
    {"address": "13.37.13.37", "player": "Kyeman", "reason": "INGAME BAN", "time": "2009-05-28T13:37:00+0000"}
]
```

```text
# در بازی:
/rcon unbanip 13.37.13.37

# کنسول
unbanip 13.37.13.37
```

برای unban کردن، به سادگی از دستور `unbanip` استفاده کنید.

#### reloadbans

`bans.json` فایلی است که اطلاعات IP هایی که در حال حاضر از سرور بن شده‌اند را نگه می‌دارد. این فایل زمانی که سرور شروع می‌شود خوانده می‌شود، بنابراین اگر با ویرایش فایل IP/شخصی را unban کنید باید دستور RCON `reloadbans` را تایپ کنید تا سرور `bans.json` را دوباره بخواند و به آنها اجازه پیوستن به سرور بدهد.

### دستورات RCON

cmdlist را برای دستورات (یا varlist برای متغیرها) تایپ کنید که از RCON در بازی استفاده می‌کند (`/rcon cmdlist`).

اینها توابعی هستند که شما به عنوان ادمین می‌توانید استفاده کنید:

| دستور | توضیحات |
| --- | --- |
| `/rcon cmdlist` | فهرستی از دستورات را نشان می‌دهد. |
| `/rcon varlist` | فهرستی از متغیرهای فعلی را نشان می‌دهد. |
| `/rcon exit` | سرور را می‌بندد. |
| `/rcon echo [text]` | `[text]` را در کنسول سرور نشان می‌دهد (نه کنسول کلاینت در بازی). |
| `/rcon hostname [name]` | متن hostname را تغییر می‌دهد (_مثال: /rcon hostname my server_). |
| `/rcon gamemodetext [name]` | متن gamemode را تغییر می‌دهد (_مثال: /rcon gamemodetext my gamemode_). |
| `/rcon mapname [name]` | متن نام نقشه را تغییر می‌دهد (_مثال: /rcon mapname San Andreas_). |
| `/rcon exec [filename]` | فایلی که شامل server cfg است را اجرا می‌کند (_مثال: /rcon exec blah.cfg_). |
| `/rcon kick [ID]` | بازیکن با ID داده شده را kick می‌کند (_مثال: /rcon kick 2_). |
| `/rcon ban [ID]` | بازیکن با ID داده شده را ban می‌کند (_مثال: /rcon ban 2_). |
| `/rcon changemode [mode]` | این دستور gamemode فعلی را به مود داده شده تغییر می‌دهد (_مثال: اگر می‌خواهید sftdm بازی کنید: /rcon changemode sftdm_). |
| `/rcon gmx` | gamemode بعدی را در [config.json](https://omp.itsneufox.com/fa/docs/server/config.json) بارگذاری می‌کند. |
| `/rcon reloadbans` | فایل `bans.json` که آدرس‌های IP بن شده در آن ذخیره شده‌اند را reload می‌کند. باید بعد از unban کردن آدرس IP با ویرایش فایل استفاده شود. |
| `/rcon reloadlog` | `log.txt` را reload می‌کند. برای چرخش خودکار لاگ مفید است. می‌تواند با ارسال سیگنال `SIGUSR1` به سرور فعال شود (فقط سرور لینوکس). |
| `/rcon say` | پیامی به بازیکنان در کنسول کلاینت نشان می‌دهد (مثال: `/rcon say hello` به عنوان `Admin: hello` نشان داده می‌شود). |
| `/rcon players` | بازیکنانی که در سرور هستند را نشان می‌دهد (با نام، IP و ping آنها). |
| `/rcon banip [IP]` | IP داده شده را ban می‌کند (_مثال: /rcon banip 127.0.0.1_). |
| `/rcon unbanip [IP]` | IP داده شده را unban می‌کند (_مثال: /rcon unbanip 127.0.0.1_). |
| `/rcon gravity` | گرانش را تغییر می‌دهد (_مثال: /rcon gravity 0.008_). |
| `/rcon weather [ID]` | آب و هوا را تغییر می‌دهد (_مثال: /rcon weather 1_). |
| `/rcon loadfs` | filterscript داده شده را بارگذاری می‌کند (_مثال: /rcon loadfs adminfs_). |
| `/rcon weburl [server url]` | URL سرور را در masterlists/کلاینت SA-MP تغییر می‌دهد |
| `/rcon unloadfs` | filterscript داده شده را unload می‌کند (_مثال: /rcon unloadfs adminfs_). |
| `/rcon reloadfs` | filterscript داده شده را reload می‌کند (_مثال: /rcon reloadfs adminfs_). |
| `/rcon rcon\_password [PASSWORD]` | رمز عبور rcon را تغییر می‌دهد |
| `/rcon password [password]` | رمز عبور سرور را تنظیم/بازنشانی می‌کند |
| `/rcon messageslimit [count]` | تعداد پیام‌های در ثانیه که کلاینت به سرور ارسال می‌کند را تغییر می‌دهد. (پیش‌فرض 500) |
| `/rcon ackslimit [count]` | حد ack ها را تغییر می‌دهد (پیش‌فرض 3000) |
| `/rcon messageholelimit [count]` | حد message hole ها را تغییر می‌دهد (پیش‌فرض 3000) |
| `/rcon playertimeout [limit m/s]` | زمان به میلی‌ثانیه تا timeout شدن بازیکن وقتی هیچ پکتی ارسال نمی‌کند را تغییر می‌دهد. (پیش‌فرض 1000) |
| `/rcon language [language]` | زبان سرور را تغییر می‌دهد (_مثال: /rcon language English_). در مرورگر سرور نشان داده می‌شود. |

چهار حد/تعداد بالایی فقط برای جلوگیری از چندین ابزار که می‌توانند هر سرور SA-MP را با منجمد کردن یا کرش کردن آن مورد حمله قرار دهند ساخته شده‌اند. بنابراین، به سادگی، فقط آنها را بر اساس سرور خود تنظیم کنید. مقادیر پیش‌فرض پیش‌فرض هستند، اگر kick های اشتباه می‌بینید، فقط مقادیر را در اسرع وقت افزایش دهید تا بازیکنان بی‌گناه توسط آن kick نشوند.

### callback ها و توابع مرتبط

callback ها و توابع زیر ممکن است مفید باشند، زیرا به نحوی با این مقاله مرتبط هستند.

#### Callback ها

-   [OnRconLoginAttempt](https://omp.itsneufox.com/fa/docs/scripting/callbacks/OnRconLoginAttempt): زمانی فراخوانی می‌شود که تلاشی برای ورود به RCON صورت گیرد.

#### توابع

-   [IsPlayerAdmin](https://omp.itsneufox.com/fa/docs/scripting/functions/IsPlayerAdmin): بررسی می‌کند که آیا بازیکن وارد RCON شده است.
    
-   [SendRconCommand](https://omp.itsneufox.com/fa/docs/scripting/functions/SendRconCommand): دستور RCON را از طریق اسکریپت ارسال می‌کند.
