Skip to content

Latest commit

 

History

History
44 lines (24 loc) · 5.46 KB

README-ruRU.md

File metadata and controls

44 lines (24 loc) · 5.46 KB

BattleBit Remastered Community Server API

License: MIT

Language English | 中文 | Русский | 한국어 | Español | Português

Этот репозиторий предоставляет API, который можно использовать для обработки событий на сервере/серверах и манипулирования ими.

Приступая к работе

Предварительные условия

  • Собственный коммьюнити сервер в BattleBit Remastered c отключенной официальной прогрессией для доступа к параметрам запуска.
  • Способность писать и компилировать .NET 6.0 C# код.
  • (Для продакшена) Место, на котором будет размещен этот API.

Написание кода

Документацию и примеры можно найти на wiki (WIP).

Способ использования этого API заключается в создании инстанции ServerListener (и ее запуске), которой вы передаете типы ваших собственных подклассов Player и GameServer. В этих подклассах вы можете делать свои собственные переопределения уже существующих методов в Player и GameServer. Вы также можете добавлять свои собственные методы и поля/свойства.

Самый простой способ начать работу со всем этим - использовать Program.cs и добавить свои переопределения и т.п. в MyPlayer и MyGameServer.

Сборка

Этот проект можно собрать с помощью команды dotnet build в командной строке или с помощью опций run / build в предпочитаемой вами IDE. В качестве альтернативы вы можете использовать Docker для его запуска. Простой способ сделать это - запустить 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 и networking in Compose.