> For the complete documentation index, see [llms.txt](https://alexeylesin.gitbook.io/guides/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://alexeylesin.gitbook.io/guides/services/proxy.md).

# LesinProxy

Система проксирования Minecraft серверов на NodeJS с поддержкой BungeeCord, логированием пакетов и многими другими функциями.

### Установка <a href="#ustanovka" id="ustanovka"></a>

Скачайте и настройте LesinProxy:

```
$ git clone https://github.com/alexeylesin/proxy
$ cd proxy && nano config.yml
```

Установите и запустите скрипт:

```
$ npm install
$ npm run start
```

### Конфигурация <a href="#konfiguraciya" id="konfiguraciya"></a>

Настройка производится в файле `config.yml`, не забудьте заполнить все необходимые поля. В разделе `localServer` указываются настройки локального сервера, а также данные для проксирования внешнего. Чуть ниже, находятся настройки для бота ВКонтакте (не забудьте включить longpoll, в типах событий разрешить отправку/получение сообщений и выбрать версию API, указанную в конфиге). Также, внизу находятся настройки модулей, на данный момент их имеется 2 - packetLogger (логирование пакетов) и chatLogger (логирование команд).

![](https://318664550-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MTAxL0BBlUWQ-XL_wRe%2Fuploads%2FecUYSWEGD0Am4eQGAh09%2Fimage.png?alt=media\&token=41d219c2-1e99-4e4d-8ac8-acb9269e6600)

### Собственные плагины <a href="#sobstvennye-plaginy" id="sobstvennye-plaginy"></a>

Если вы хотите сделать собственный плагин, вам необходимы знания языка NodeJS. Для начала, создайте файл с названием вашего модуля в директории `proxy/src/plugins`.

![](https://318664550-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MTAxL0BBlUWQ-XL_wRe%2Fuploads%2FpSoxT84fkXj65pVwQab2%2Fimage.png?alt=media\&token=186ca2b0-2e67-4323-b705-4e2ebe4ca730)

Теперь вы можете приступить к написанию плагина. Чтобы понимать как это работает, изучите документацию к [minecraft-data ](https://www.npmjs.com/package/minecraft-data)и [minecraft-protocol](https://www.npmjs.com/package/minecraft-protocol). В качестве шаблона, вы можете использовать уже существующие плагины, например [PacketLogger](https://github.com/alexeylesin/proxy/blob/master/src/Plugins/PacketLogger.js). Не забудьте добавить условие на запуск `if (config.modules.названиеМодуля === true) { код }`, иначе вы не сможете контролировать его через главный конфиг.

![](https://318664550-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MTAxL0BBlUWQ-XL_wRe%2Fuploads%2FDYcLBCLrrPr5SBns1245%2Fimage.png?alt=media\&token=678a2dca-cfc9-4c0c-9cea-699389d0ff94)

После этого, в файле `config.yml` найдите раздел `modules` и добавьте туда название вашего плагина.

![](https://318664550-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MTAxL0BBlUWQ-XL_wRe%2Fuploads%2FHKvEjQyQruyukYSFIhGc%2Fimage.png?alt=media\&token=a3d2933a-393f-4a2e-bcda-57477512991a)
