Rcon скрипт php

GIGABAIT

Разработчик
Премиум
Пользователь
Нужен скрипт php для отправки команд на сервер майнкрафт через rcon.
Находил такие скрипты на гитхабе но незнаю как его интегрировать в свой скрипт.
Может есть у кого простенький скрипт где просто можно в коде подставить нужною команду а не вводить команду через сайт мне просто надо чтоб он срабатывал автоматически когда запускается php скрипт
Авто объединение сообщений:

PHP:
<?php
include_once('mcraftrcon.class.php');

/*

Mineсraft RCON v1.0b (c) NC22

+ mcraft.class.php by xPaw

и проверку входа под пользователем не забудьте добавить ;)

*/

$server = "localhost";
$rconPort = 25575;
$rconPass = "";

function GetUserListHTML($result) {
global $rcon;

$str = trim($result);
$str = str_replace(array("\r\n", "\n", "\r"),'', $str);

$names = explode(', ',substr($str, 19));

if (!empty($names)) for($i=0;$i<sizeof($names);$i++) trim($names[$i]);

if ($names[0]=='') unset($names);

if (empty($names)) return array('<p>Сервер пуст</p>','');

$html = '';
$script = '';

 for($i=0;$i<sizeof($names);$i++) {
 
 $script .= 'parent.addNickButton("'.$names[$i].'",'.$i.');';
 $html .= '<p><a href="#" id="nickButton'.$i.'">'.$names[$i].'</a></p>';
 
 }

 
return array($html,$script);
}

if (empty($_POST['command']) and empty($_POST['userlist'])) exit('<script>parent.showResult("command is empty");</script>');

    try
    {
        $rcon = new MinecraftRcon;
        $rcon->Connect( $server, $rconPort, $rconPass);
        
        if (!empty($_POST['userlist'])) {

         $page = GetUserListHTML($rcon->Command('list'));
         exit("<script>parent.document.getElementById('users_online').innerHTML = '".$page[0]."'; ".$page[1]."</script>");
        
        }   
        
        $command = trim($_POST['command']);
        $command = str_replace(array("\r\n", "\n", "\r"),'', $command);
        $command = preg_replace('| +|', ' ', $command);
        
        
        $str = trim(htmlspecialchars($rcon->Command($command), ENT_QUOTES ));

        $str = str_replace(array("\r\n", "\n", "\r"),'', $str);

        if (!strncmp($command,'say',3) and strlen($str) > 2) $str = substr($str, 2);
        if (!strncmp(substr($str, 2),'Usage',5)) $str = substr($str, 2);
        
        $str = str_replace(array(chr(167)), '', $str);
        
        echo '<script>parent.showResult("'.$str.'");</script>';

    }
    catch( MinecraftRconException $e )
    {
        echo '<script>parent.showResult("'.$e->getMessage( ).'");</script>';
    }

$rcon->Disconnect( );

?>
Авто объединение сообщений:

Помогите как в этот скрипт отправить команду из другого php скрипта чтоб он отправил команду по rcon
 
Последнее редактирование:

GIGABAIT

Разработчик
Премиум
Пользователь
но как мне єто настроить хз. У меня просто есть скрипт который запускается и получает данные с мониторинга когда ктото голосует за сервер мне надо подставить полученные переменные в ркон команду и отправить команду хз как это сделать не понимаю в php
Авто объединение сообщений:

решил проблему так
Код:
$cmd = shell_exec("python3 -m valve.rcon tensa.co.ua:ПОРТ     --password ПАРОЛЬ --execute 'КОМАНДА $arg1 $arg2 $arg3 $arg4'");
Но пришлось устанавливать библиотеку python на хост
 
Последнее редактирование:

CarryLove

Пользователь
но как мне єто настроить хз. У меня просто есть скрипт который запускается и получает данные с мониторинга когда ктото голосует за сервер мне надо подставить полученные переменные в ркон команду и отправить команду хз как это сделать не понимаю в php
Авто объединение сообщений:

решил проблему так
Код:
$cmd = shell_exec("python3 -m valve.rcon tensa.co.ua:ПОРТ     --password ПАРОЛЬ --execute 'КОМАНДА $arg1 $arg2 $arg3 $arg4'");
Но пришлось устанавливать библиотеку python на хост
Лол, всмысле отправить команду какую-либо?
 

GIGABAIT

Разработчик
Премиум
Пользователь
Лол, всмысле отправить команду какую-либо?
Ну можно любую команду но с мониторинга мне приходит переменная ник игрока и я могу дать игроку плюшки за то что он проголосовал. Также приходят переменный с помощью которых можно проверять откуда запрос чтоб не смогли обойти скрипт там секретный ключ и т д
Авто объединение сообщений:

Всё-таки python интересен одна маленькая команда заменила большой php скрипт
 

CarryLove

Пользователь
Ну можно любую команду но с мониторинга мне приходит переменная ник игрока и я могу дать игроку плюшки за то что он проголосовал. Также приходят переменный с помощью которых можно проверять откуда запрос чтоб не смогли обойти скрипт там секретный ключ и т д
Авто объединение сообщений:

Всё-таки python интересен одна маленькая команда заменила большой php скрипт
ага. смотри, есть команда. есть параметры команды. Вот примерно так.
PHP:
$player = getPlayer();
$ip = getIp();
$tool = getConfigTool();

$command = "/idiNaxuy " + $player + $tool;
    
sendCommand($command);
И да, это показана не реализация, а метод решения. Ещё пара советов.

  1. Команда - это строка.
  2. Строки можно форматировать.
  3. Ты можешь отформатировать команду с теми переменными, которые тебе нужны.
Авто объединение сообщений:

ага. смотри, есть команда. есть параметры команды. Вот примерно так.
PHP:
$player = getPlayer();
$ip = getIp();
$tool = getConfigTool();

$command = "/idiNaxuy " + $player + $tool;
   
sendCommand($command);
И да, это показана не реализация, а метод решения. Ещё пара советов.

  1. Команда - это строка.
  2. Строки можно форматировать.
  3. Ты можешь отформатировать команду с теми переменными, которые тебе нужны.
Может через минут 15 напишу код готовый. Я только проснулся.
 

Комнаты в чате

Верх Низ