An open API service indexing awesome lists of open source software.

https://github.com/flyawaymaking/playerchecker

Плагин для проверки: заходил ли игрок на сервер и получения его ранга.
https://github.com/flyawaymaking/playerchecker

lcukperms minecraft-plugins ninecraft papermc player-data plugins

Last synced: 4 months ago
JSON representation

Плагин для проверки: заходил ли игрок на сервер и получения его ранга.

Awesome Lists containing this project

README

          

# 🧍 PlayerChecker

**PlayerChecker** — это простой плагин для **Paper**, который позволяет быстро проверить, заходил ли игрок на сервер и узнать его текущую группу (ранг) через API **LuckPerms**.
Идеально подходит для интеграции с веб-сайтами, системами авторизации или панелями управления игроками.

---

## ⚙️ Возможности

- Проверяет, заходил ли указанный игрок когда-либо на сервер.
- Определяет его **ранг (primary group)** из **LuckPerms**.
- Возвращает короткие статусы, удобные для парсинга внешними системами (RCON / HTTP).

---

## 🧩 Зависимости

Для корректной работы требуется установленный плагин:

```yml
- LuckPerms
```

---

## 💡 Команды

| Команда | Описание | Разрешение |
|--------:|:---------|:----------------------------------|
| `/checkplayer <ник>` | Проверяет наличие игрока и его ранг | `playerchecker.use` (по умолчанию `op`) |

---

## 📤 Форматы возвращаемых данных

Команда `/checkplayer <ник>` возвращает один из следующих форматов:

| Ответ | Описание |
|------:|:---------|
| `NOT_FOUND` | Игрок **никогда не заходил** на сервер и не найден в базе данных. |
| `FOUND:NO_RANK` | Игрок найден, но у него **нет назначенной группы** (ранга) в LuckPerms. |
| `FOUND:` | Игрок найден, и у него установлен ранг ``. Например: `FOUND:default`, `FOUND:vip`. |
| `ERROR:<сообщение>` | Произошла внутренняя ошибка при выполнении команды. |

---

## 🧠 Примеры использования

**Пример 1 — игрок не найден:**
```bash
/checkplayer Steve
# → NOT_FOUND
```

**Пример 2 — найден без ранга:**
```bash
/checkplayer Alex
# → FOUND:NO_RANK
```

**Пример 3 — найден с рангом:**
```bash
/checkplayer Denis
# → FOUND:vip
```

---

## 🧱 Пример интеграции (RCON)

Пример вызова через mcrcon:
```bash
mcrcon -H 127.0.0.1 -P 25575 -p mypass "checkplayer Steve"
# Ответ: FOUND:vip (или NOT_FOUND / FOUND:NO_RANK)
```

Пример обработки в Python:
```python
result = rcon_command(f"checkplayer {username}").strip()
if result.startswith("FOUND:"):
rank = result.split("FOUND:")[1].strip()
# rank может быть "NO_RANK" или реальный ранг
elif result == "NOT_FOUND":
# игрок не найден
else:
# обработка ошибок
```

---

## 🛠 Установка

1. Скачайте **последний релиз** из раздела [Releases](../../releases)
2. Помести `.jar` в папку `plugins/` сервера.
3. Убедись, что установлен **LuckPerms**.
4. Перезапусти сервер.
5. Проверь работу командой:
```bash
/checkplayer <ник>
```

---

## 🔍 Совместимость

| Платформа | Версия |
|----------:|:-------|
| Paper | 1.21+ |
| LuckPerms | v5+ |

---

## 📜 Лицензия

Проект распространяется под лицензией **MIT**.