zotsuperplus 15 Опубликовано: 4 июля 2020 Поделиться Опубликовано: 4 июля 2020 На данный момент, на серверах мут с сайта, доходит с задержкой, и чтобы получить его "моментально" надо перезайти. Предлагаю внести автокик при муте на сайте. kick PLAYERNAME. Если не знаете как сделать, то вот код и пакет: Пакет rcon-client (npm) import { Rcon } from "rcon-client" const rcon = await Rcon.connect({ host: "хостсервера", port: порт, password: "пароль" }) await Promise.all([ rcon.send(`mute ${playername} ${time}`), rcon.send(`kick ${playername}`) ]) rcon.end(); //other code 4 2 Ссылка на комментарий
zotsuperplus 15 Опубликовано: 4 июля 2020 Автор Поделиться Опубликовано: 4 июля 2020 $host = 'айпи'; $port = порт; $password = 'Пароль'; $timeout = 3; $playername = "zotsuperplus"; $time = "1"; use Thedudeguy\Rcon; $rcon = new Rcon($host, $port, $password, $timeout); if ($rcon->connect()) { $rcon->sendCommand("mute " + $playername + " " + $time); $rcon->sendCommand("kick " + $playername); echo 'Completed'; } Тот же самый код, но на PHP. Библиотека, используемая в примере -> https://github.com/thedudeguy/PHP-Minecraft-Rcon Ссылка на комментарий
ArnyFourR 17 Опубликовано: 6 июля 2020 Поделиться Опубликовано: 6 июля 2020 Ну как бы разработчики на то и разработчики, что бы заняматся этим. Думаю они и без твоей помощи в виде куска кода отлично справились. (Им как бы за это деньги платят если что) Да и какая разница когда игроку прилетит мут. Он же всеравно дойдёт Ссылка на комментарий
hessitation 348 Опубликовано: 6 июля 2020 Поделиться Опубликовано: 6 июля 2020 3 часа назад, ArnyFourR сказал: Ну как бы разработчики на то и разработчики, что бы заняматся этим. Думаю они и без твоей помощи в виде куска кода отлично справились. (Им как бы за это деньги платят если что) Да и какая разница когда игроку прилетит мут. Он же всеравно дойдёт АХАХАХАХАХА, меншу это бы сказал Ссылка на комментарий
Awuglgzyr 377 Опубликовано: 6 июля 2020 Поделиться Опубликовано: 6 июля 2020 Я, конечно, ни разу не программист. Но! Если мут с сайта приходит с задержкой, это означает. что сайт и сервера синхронизируются с какой-то периодичностью И тогда если мут приходит с задержкой, то и кик будет приходить ровно с той же задержкой в момент синхронизации, разве нет? Ссылка на комментарий
Главный Модератор BlackSauron 4114 Опубликовано: 7 июля 2020 Главный Модератор Поделиться Опубликовано: 7 июля 2020 7 часов назад, Awuglgzyr сказал: Я, конечно, ни разу не программист. Но! Если мут с сайта приходит с задержкой, это означает. что сайт и сервера синхронизируются с какой-то периодичностью И тогда если мут приходит с задержкой, то и кик будет приходить ровно с той же задержкой в момент синхронизации, разве нет? Существует небольшая проблемка, если игрок получивший мут на сайте, будет находится онлайн, мут за ним будет числится, но не будет работать до тех пор, пока игрок не перезайдёт на сервер. Автор хочет исправить эту проблему автоматическим киком. Идея конечно интересная, но с другой стороны, кик - это такое же наказание как и варн, и мут, и бан, причём игроков на сервере может кикать во время чего-то важного, например при совершении обмена или пвп, что не есть хорошо. Если кик модератором непосредственно после слабого нарушения уместен в таких ситуациях, то кик, который выдаётся помимо мута, т.е. двойное наказание за одно нарушение, уже спорно звучит. Ссылка на комментарий
zotsuperplus 15 Опубликовано: 7 июля 2020 Автор Поделиться Опубликовано: 7 июля 2020 4 часа назад, BlackSauron сказал: Существует небольшая проблемка, если игрок получивший мут на сайте, будет находится онлайн, мут за ним будет числится, но не будет работать до тех пор, пока игрок не перезайдёт на сервер. Автор хочет исправить эту проблему автоматическим киком. Идея конечно интересная, но с другой стороны, кик - это такое же наказание как и варн, и мут, и бан, причём игроков на сервере может кикать во время чего-то важного, например при совершении обмена или пвп, что не есть хорошо. Если кик модератором непосредственно после слабого нарушения уместен в таких ситуациях, то кик, который выдаётся помимо мута, т.е. двойное наказание за одно нарушение, уже спорно звучит. import { Rcon } from "rcon-client" const rcon = await Rcon.connect({ host: "хостсервера", port: порт, password: "пароль" }) await Promise.all([ rcon.send(`mute ${playername} ${time}`), rcon.send(`msg ${playername} Уважаемый игрок, вы были замучены, и автоматически будете кикнуты через 1 минуту. Пожалуйста, не совершайте обменов в этот момент и не сражайтесь с другими игроками. `) ]) const sleep = ms => new Promise(resolve => setTimeout(resolve, ms)); await sleep(60000) rcon.send(`kick ${playername}`) rcon.end(); //other code Тогда мы решим эту проблему предварительным уведомлением пользователя, и дадим минуту чтоб он закончил работу, обмен, крафт, PvP. Но, данное решение будет зависеть от модератора, выдавшего мут. Тут необходимо поднимать Node.JS сервер, чтобы при закрытии вкладки, не сбросился таймер. Я могу написать как логику клиента, так и сервера Ссылка на комментарий
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВойти
Уже зарегистрированы? Войдите здесь.
Войти сейчас