Как кикнуть игрока с сервера
Введение
Данная инструкция описывает все способы отключения игрока от Minecraft-сервера, развернутого на выделенном сервере с Ubuntu под управлением панели proxify.cloud (Proxmox VE). Рассматриваются методы через игровую консоль, RCON, системную консоль Proxmox, файловую систему и автоматизацию. Все команды и пути проверены на стандартной установке Paper/Spigot/Purpur в директории /opt/minecraft/server.
1. Кик через игровую консоль (в игре)
Самый быстрый способ, если у вас есть права оператора (OP) или разрешение minecraft.command.kick.
- Зайдите на сервер под учётной записью с OP-правами.
- Откройте чат (клавиша
Tили/). - Введите команду:
Пример:/kick <ник_игрока> [причина]/kick SteveGrief Нарушение правил: грифф - Нажмите Enter. Игрок получит экран отключения с текстом причины.
Важно: Ник должен совпадать точно, включая регистр. Используйте Tab для автодополнения.
2. Кик через консоль панели proxify.cloud (Proxmox Web GUI)
Если вы не в игре, используйте встроенную консоль виртуальной машины/контейнера в панели proxify.cloud.
- Авторизуйтесь в панели proxify.cloud (обычно
https://<IP_хоста>:8006). - В дереве слева выберите вашу VM или LXC-контейнер с сервером Minecraft.
- Перейдите на вкладку Console (Консоль).
- Если консоль не отображает вывод — нажмите в окно консоли и нажмите
Enterнесколько раз. - Введите команду без слеша:
Пример:kick <ник_игрока> [причина]kick xX_PvP_Xx Использование читов - Нажмите Enter. Сервер ответит:
Kicked xX_PvP_Xx.
Нюанс: В консоли Proxmox не работает Tab-дополнение ников. Вводите вручную или скопируйте из списка онлайн (команда list).
3. Кик через SSH (системная консоль Ubuntu)
Подключение напрямую к ОС даёт полный контроль и доступ к логам.
3.1 Подключение по SSH
ssh root@<IP_вашего_сервера_proxify>
# или, если пользователь minecraft:
ssh minecraft@<IP_вашего_сервера_proxify>
3.2 Подключение к screen/tmux сессии сервера
На хостинге proxify.cloud сервер обычно запускается в screen или systemd.
Вариант А: Screen (классика)
# Посмотреть список сессий
screen -ls
# Пример вывода: 12345.minecraft (Detached)
# Подключиться:
screen -r minecraft
# Или по PID:
screen -r 12345
Вариант Б: Systemd (современный стандарт на Ubuntu 22.04/24.04)
# Статус сервиса
systemctl status minecraft-server
# Подключение к консоли через journalctl (только чтение) или stdin, если настроен
# Обычно stdin не проброшен. Используйте RCON (пункт 4) или screen.
3.3 Отправка команды в screen без входа в сессию
Если нужно кикнуть быстро, не заходя в интерактивную консоль:
screen -S minecraft -X stuff "kick BadPlayer Причина кика\n"
-S minecraft— имя сессии (проверьтеscreen -ls).-X stuff— передать строку в stdin процесса внутри screen.\n— обязательный перевод строки (Enter).
4. Кик через RCON (удалённая админ-панель, скрипты, Discord-боты)
RCON — стандартный протокол удалённого управления. Включён по умолчанию в server.properties на большинстве образов proxify.cloud.
4.1 Проверка настроек RCON
Файл конфигурации: /opt/minecraft/server/server.properties
cat /opt/minecraft/server/server.properties | grep -E "rcon|enable-rcon"
Ожидаемые значения:
enable-rcon=true
rcon.port=25575
rcon.password=SuperSecretPassword123
Безопасность: На выделенном сервере proxify.cloud порт 25575 должен быть закрыт в файрволе (UFW/iptables/Proxmox Firewall) для внешнего мира. Доступ только с localhost или через VPN/SSH-туннель.
4.2 Использование mcrcon (рекомендуемый клиент)
Установка на Ubuntu:
apt update && apt install -y git build-essential
cd /tmp
git clone https://github.com/Tiiffi/mcrcon.git
cd mcrcon
make
cp mcrcon /usr/local/bin/
Кик игрока:
mcrcon -H 127.0.0.1 -P 25575 -p SuperSecretPassword123 "kick Hacker123 Читы запрещены"
Успешный ответ: [Server] Kicked Hacker123.
4.3 Кик через Python-скрипт (автоматизация)
Пример kick_player.py:
#!/usr/bin/env python3
import sys
from mcrcon import MCRcon
def kick_player(host, port, password, player, reason="Kicked by admin"):
try:
with MCRcon(host, password, port) as mcr:
resp = mcr.command(f"kick {player} {reason}")
print(f"Ответ сервера: {resp}")
except Exception as e:
print(f"Ошибка RCON: {e}")
sys.exit(1)
if __name__ == "__main__":
# Настройки для proxify.cloud (локальный хост)
HOST = "127.0.0.1"
PORT = 25575
PASS = "SuperSecretPassword123" # Замените на свой из server.properties
if len(sys.argv) < 2:
print("Usage: python3 kick_player.py <ник> [причина]")
sys.exit(1)
player = sys.argv[1]
reason = " ".join(sys.argv[2:]) if len(sys.argv) > 2 else "Нарушение правил"
kick_player(HOST, PORT, PASS, player, reason)
Запуск:
chmod +x kick_player.py
python3 kick_player.py GriefMaster "Грифф спавна"
5. Кик через плагины (EssentialsX, LuckPerms, AdvancedBan)
На продакшн-серверах proxify.cloud почти всегда стоят плагины модерации.
5.1 EssentialsX
Команда в чате или консоли:
/kick <ник> [причина]
/kickall [причина] # Кикнуть всех кроме OP
Права: essentials.kick, essentials.kickall.
5.2 AdvancedBan / LiteBans
Позволяют кикать с записью в БД (MySQL/SQLite) и синхронизацией между серверами.
/kick <ник> <причина>
/ban <ник> <причина> # Пермабан
/tempban <ник> 1d <причина> # Временный бан
Логи хранятся в /opt/minecraft/server/plugins/AdvancedBan/ или БД.
5.3 LuckPerms (проверка прав перед киком)
Убедиться, что цель не имеет иммунитета:
/lp user <ник> permission info essentials.kick.exempt
Если возвращает true — игрок защищён от кика Essentials. Кикните через нативную команду /kick (пункт 1) или консоль.
6. Жёсткое отключение через ОС (kill процесса Java) — Экстренный метод
Если сервер завис, RCON не отвечает, консоль не реагирует — помогает только системный сигнал.
6.1 Поиск PID Java-процесса
pgrep -f "paper.jar\|spigot.jar\|server.jar"
# Или через systemd:
systemctl status minecraft-server | grep Main PID
Пример вывода: 12345.
6.2 Мягкая остановка (SIGTERM) — сохраняет мир
kill -15 12345
# Ждём 10-30 секунд
sleep 15
# Проверка
pgrep -f "paper.jar"
6.3 Жёсткая остановка (SIGKILL) — потеря данных за последние тики
kill -9 12345
После SIGKILL обязательно проверьте мир:
# Запуск сервера в режиме проверки (read-only) или просто старт
# Paper/Spigot автоматически починят chunk'и при следующем запуске.
6.4 Перезапуск через systemd (стандарт на proxify.cloud Ubuntu)
systemctl restart minecraft-server
# Статус
systemctl status minecraft-server -l
# Логи загрузки
journalctl -u minecraft-server -f
7. Кик через файловую систему (баны без входа в игру)
Если нужно забанить/кикнуть оффлайн-игрока или автоматизировать через скрипты бэкапа.
7.1 Native banned-players.json
Путь: /opt/minecraft/server/banned-players.json
Структура:
[
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"name": "BadPlayer",
"created": "2024-01-15 14:30:00 +0300",
"source": "Console",
"expires": "forever",
"reason": "Читы"
}
]
Действие: Добавьте запись в массив -> сохраните -> выполните в консоли pardon <ник> для разбана или перезагрузите сервер. Игрок будет кикнут при следующем входе (или сразу, если он онлайн — команда kick всё равно нужна).
7.2 banned-ips.json
Аналогичный путь: /opt/minecraft/server/banned-ips.json. Блокирует по IP.
7.3 Плагинные БД (SQLite/MySQL)
Для AdvancedBan, LiteBans, BanManager правка JSON бесполезна. Используйте SQL:
-- Пример для SQLite (AdvancedBan)
INSERT INTO bans (uuid, name, reason, banner, created, expires, server)
VALUES ('uuid-игрока', 'BadPlayer', 'Автобан: античит', 'Console', strftime('%s','now'), 0, 'survival');
Файл БД обычно: /opt/minecraft/server/plugins/AdvancedBan/bans.db.
Комментарии (0)