diff --git a/README.md b/README.md
index 795ba09..e392b59 100644
--- a/README.md
+++ b/README.md
@@ -1,26 +1,37 @@
# RCON бот для ВК сообществ
+[](https://github.com/SantaSpeen/)
**Не забывай про звёздочку!)**
-
## Что умеет:
### Команды
-
Не стесняйтесь, предлагайте свои идеи в issue, Vk, Telegram
+**Не стесняйтесь, предлагайте свои идеи в issue, Vk, Telegram**\
+Бот использует по умолчанию хост - *default*, т.е. `.rcon default say hello` такое же что и `.rcon say hello`
-* Доступные разрешённым людям
- * **`.rcon `** - Исполняет <*command*> и показывает ответ сервера
- * **`.bot`** - Команды бота, требует разрешения `bot`
-* Доступные всем
- * **`!help`** - Выводит страничку с командами (Текст в файле help_message.txt)
- * **`!online`** - Запрашивает у сервера онлайн и выводит
- * **`!id`** - Выводит ID пользователя, и его роль
+* **`.rcon ( | default) `** - Исполняет <*command*> на <*host*> и показывает ответ сервера (`bot.rcon.` и `bot.rcon..`)
+
+
+* **`.bot`** - Команды бота (`bot.help`)
+* **`.bot help`** - Команды бота (`bot.help`)
+* **`.bot info`** - Выводит краткую информацию о боте. (`bot.info`)
+* **`.bot hosts list`** - Список доступных хостов. (`bot.hosts.list`)
+* **`.bot hosts reload`** - Перезагружает hosts.yml. (`bot.hosts.reload`)
+* **`.bot perms reload`** - Перезагружает permissions.yml. (`bot.perms.reload`)
+
+
+* **`!help`** - Выводит содержимое help_message.txt (`bot.cmd.help`)
+* **`!id`** - Выводит ID пользователя, его роль и ник (`bot.cmd.id`)
+* **`!online ( | default)`** - Запрашивает у <*host*> онлайн и выводит (`bot.cmd.online.`)
+* **`!history ( | default)`** - **(WIP)** Выводит график онлайна на <*host*> (`bot.cmd.history.`)
### Возможности
-* Система [permissions](#система-permissions):
- * Локально
- * Интеграция с LuckPerms (В разработке)
+* Работа в [Docker](./Dockerfile)
+
+
+* Система [Permissions](#система-permissions) - Разрешения для пользователей
+* Система [MultiHost](#система-multihost) - Если у тебя очень много хостов
## Как запустить?
@@ -40,58 +51,118 @@
_Всё очень легко и просто)_
-## Система permissions
-
-В файле `permissions.yml` указаны все пользователи с "повышенным" уровнем доступа к боту\
-Пример
+## Система Permissions
+Файл: `config/permissions.yml`\
+В файле указаны **vk id** пользователей и их разрешения\
+Стандартный вид:
```yaml
noRole: Нет роли
noRights: Нет прав # null для отключения
-noNick: Не указан # Используется для !id, ник берётся из LuckPerms.nicks независимо от useLuckPerms
+noNick: Не указан # Используется для !id
+
+# Таблица соответствия vkID к нику в Майнкрафте
+# Ник будет передаваться в плагины (Плагины бота)
+nicks:
+ 370926160: Rick
+ 583018016: SantaSpeen
+
perms:
- admins: # Имя группы
+ admin: # Имя группы
name: Админ # Имя группы, которое будет отображаться в боте
ids: # вк ИД входящих в состав группы
- 370926160
+ parent: # Наследование прав
+ - helper
allow: # Какие команды разрешены, "*" - все
- '*'
- # Пример настройки
- helpers:
+ helper:
name: Хелпер
ids:
- 583018016
allow:
+ - bot.rcon.* # См. host.yml
- say
- mute
- warn
-
-# Находится в режиме тестирования
-# Интеграция с базой данных LuckPerms (Нужна именно внешняя база данных)
-useLuckPerms: false
-LuckPerms:
-
- # Таблица соответствия vkID к нику в Майнкрафте
- nicks:
- 370926160: Rick
- 583018016: SantaSpeen
-
- # Разрешенные варианты: MySQL, MariaDB, PostgreSQL
- storage-method: PostgreSQL
- data:
- # Указывайте host:port
- address: 127.0.0.1:5432
- # База данных в которой хранятся настройки LuckPerms
- database: minecraftDB
- # Логин и пароль для доступа к БД
- username: user
- password: user
-
- # Смотрите настройку LuckPerms
- table-prefix: luckperms_
- server: global
+ default:
+ name: Игрок
+ allow:
+ - bot.cmd.help
+ - bot.cmd.id
+ - bot.cmd.online.*
+ - bot.cmd.history.*
```
-**Интеграция с LuckPerms ещё не готова!**
+## Система MultiHost
+Файл: `config/hosts.yml`\
+Тут должно быть описание..\
+Стандартный вид:
+```yaml
+hosts:
+ survival: # Название сервера (имя), может быть любым, может быть сколько угодно
+ meta:
+ name: Выживание # Это имя будет выводиться в ответе, или статистике (имя для бота)
+ java: true # Это JAVA сервер?
+ important: true # Если да, то бот не включится, если не подключится
+ # 0 - выключен
+ # 1 - Доступно без имени (!! Такое значение может быть только у 1 хоста !!) (.rcon )
+ # 2 - Доступно с именем (.rcon )
+ # Разрешение: bot.rcon.; bot.online.; bot.history.
+ # При запуске бота будет проверка доступности всего
+ rcon: 2 # RCON будет доступен по команде .rcon lobby (разрешение: bot.rcon.lobby)
+ # !online будет доступен по команде !online lobby (разрешение: bot.cmd.online.lobby)
+ # !history будет доступен по команде !history lobby (разрешение: bot.cmd.history.lobby)
+ online: 2
+ rcon: # RCON подключение
+ host: 192.168.0.31
+ port: 15101
+ password: rconPass1
+ mine: # Minecraft подключение (нужно для !online и !history)
+ host: 192.168.0.31
+ port: 15001
+
+ lobby:
+ meta:
+ name: Лобби
+ important: true
+ java: true
+ rcon: 1
+ online: 2
+ rcon:
+ host: 192.168.0.31
+ port: 15100
+ password: rconPass2
+ mine:
+ host: 192.168.0.31
+ port: 15000
+
+ devlobby:
+ meta:
+ name: Лобби
+ important: false
+ java: true
+ rcon: 2
+ online: 2
+ rcon:
+ host: 192.168.0.31
+ port: 15108
+ password: rconPass3
+ mine:
+ host: 192.168.0.31
+ port: 15008
+
+ proxy-local:
+ meta:
+ name: Proxy-Local
+ java: true
+ important: true
+ rcon: 0
+ online: 1
+ rcon:
+ mine:
+ host: 192.168.0.31
+ port: 15009
+```
### За помощью, заказами и предложениями можно обратиться сюда: