5.5 KiB
BattleBit Remastered Community Server API
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.