BattleBit-Community-Server-API/README-ruRU.md
2024-05-23 01:25:57 +05:00

44 lines
5.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# BattleBit Remastered Community Server API
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
Language [English](/README.md) | [中文](/README-zhCN.md) | Русский | [한국어](/README-koKR.md) | [Español](/README-esES.md) | [Português](/README-ptBR.md)
Этот репозиторий предоставляет API, который можно использовать для обработки событий на сервере/серверах и манипулирования ими.
## Приступая к работе
### Предварительные условия
- Собственный коммьюнити сервер в BattleBit Remastered c **отключенной** официальной прогрессией для доступа к параметрам запуска.
- Способность писать и компилировать [.NET 6.0](https://dotnet.microsoft.com/en-us/download/dotnet/6.0) C# код.
- (Для продакшена) Место, на котором будет размещен этот API.
### Написание кода
Документацию и примеры можно найти на [wiki](https://github.com/MrOkiDoki/BattleBit-Community-Server-API/wiki) (WIP).
Способ использования этого API заключается в создании инстанции `ServerListener`ее запуске), которой вы передаете типы ваших *собственных* подклассов `Player` и `GameServer`. В этих подклассах вы можете делать свои собственные переопределения уже существующих методов в `Player` и `GameServer`. Вы также можете добавлять свои собственные методы и поля/свойства.
Самый простой способ начать работу со всем этим - использовать `Program.cs` и добавить свои переопределения и т.п. в `MyPlayer` и `MyGameServer`.
### Сборка
Этот проект можно собрать с помощью команды [`dotnet build`](https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-build) в командной строке или с помощью опций run / build в предпочитаемой вами IDE.
В качестве альтернативы вы можете использовать [Docker](https://docs.docker.com/get-started/overview/) для его запуска. Простой способ сделать это - запустить `docker compose up`.
### Подключение к игровому серверу/серверам
После написания и компиляции этого проекта, вы захотите разместить его где-нибудь. Это может быть тот же сервер, на котором запущен текущий игровой сервер, или совершенно другой. Мы рекомендуем поддерживать минимальную задержку до игрового сервера для более плавной и быстрой коммуникации между ними. Один и тот же `ServerListener` может использоваться для *нескольких* игровых серверов одновременно. Вы можете указать API-сервер (адрес и порт) в параметрах запуска игрового сервера.
#### Параметры запуска игрового сервера
Игровой сервер подключается к API с помощью параметра запуска `«-apiendpoint=<IP>:<port>»`, где `<port>` - это порт, который слушает слушатель, а `<IP>` - IP сервера API.
Если в вашем Server API требуется проверка `Api Token`, вам необходимо добавить `«-apiToken=<ApiToken>»` в параметры запуска игрового сервера/серверов. Если `<ApiToken>` совпадает с `Api Token`, определенным в Server API, игровой сервер(ы) смогут взаимодействовать с Server API.
Когда игровой сервер запущен, вы также можете напрямую изменить `Api Token` игрового сервера, введя `setapitoken <new token>` в его командной строке.
#### Настройка порта прослушивания API
В настоящее время проект настроен на прослушивание API на порту `29294`. Если вы хотите изменить это, обязательно измените это в коде (на вашем `listener.start(port)`). Порт `29294` также открыт в Docker и привязан к тому же порту на хосте в Docker Compose. Это означает, что при использовании Docker вам придется изменить порт в `Dockerfile` и в `docker-compose.yml` (при использовании Compose). Подробнее в [EXPOSE в справке по Dockerfile](https://docs.docker.com/engine/reference/builder/#expose) и [networking in Compose](https://docs.docker.com/compose/networking/).