Перейти к содержимому


Фотография

PHP класс для работы с API MyArena.Ru

MyArena Api API

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 85

#61 SkyGopnik

SkyGopnik

    Новичок

  • Пользователь
  • Pip
  • 3 сообщений

Отправлено 08 Апрель 2018 - 20:53

Не понимаю как работает API MyArena
Warning: include(./vendor/autoload.php): failed to open stream: No such file or directory in /home/c/cn73042/public_html/serverinfo.php on line 313

Warning: include(./vendor/autoload.php): failed to open stream: No such file or directory in /home/c/cn73042/public_html/serverinfo.php on line 313

313 это 
  include './vendor/autoload.php';

Warning: include(): Failed opening './vendor/autoload.php' for inclusion (include_path='.:/opt/php71/share/pear:/usr/share/pear') in /home/c/cn73042/public_html/serverinfo.php on line 313

Fatal error: Uncaught Error: Class 'DeSalvatierra\MyArena\Api\Api' not found in /home/c/cn73042/public_html/serverinfo.php:315 Stack trace: #0 {main} thrown in /home/c/cn73042/public_html/serverinfo.php on line 315

315 - 
  $ma = new Api($token); // Токен доступа (Конечно же измените на свой)

Помогите кто знает.


Сообщение отредактировал SkyGopnik: 08 Апрель 2018 - 20:57


#62 ykpon

ykpon

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 4 027 сообщений

Отправлено 08 Апрель 2018 - 21:22

В директории со скриптом должен быть каталог vendor с библиотеками. Его там нет.



#63 SkyGopnik

SkyGopnik

    Новичок

  • Пользователь
  • Pip
  • 3 сообщений

Отправлено 08 Апрель 2018 - 21:32

В директории со скриптом должен быть каталог vendor с библиотеками. Его там нет.

Закинул.
Fatal error: Uncaught Error: Class 'DeSalvatierra\MyArena\Api\Api' not found in /home/c/cn73042/public_html/serverinfo.php:315 Stack trace: #0 {main} thrown in /home/c/cn73042/public_html/serverinfo.php on line 315


Закинул.
Fatal error: Uncaught Error: Class 'DeSalvatierra\MyArena\Api\Api' not found in /home/c/cn73042/public_html/serverinfo.php:315 Stack trace: #0 {main} thrown in /home/c/cn73042/public_html/serverinfo.php on line 315

А всё. 

Santiago скинул новую версию.

#64 Santiago

Santiago

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 5 053 сообщений

Отправлено 08 Апрель 2018 - 23:50

 

Закинул.
Fatal error: Uncaught Error: Class 'DeSalvatierra\MyArena\Api\Api' not found in /home/c/cn73042/public_html/serverinfo.php:315 Stack trace: #0 {main} thrown in /home/c/cn73042/public_html/serverinfo.php on line 315


А всё. 

Santiago скинул новую версию.

 

не новую а старую


По ссылке расположен пакет для composer. Для тех, кто не использует composer, я оставил старую версию под тэгом 1.0.0. Ссылка на гитхаб на старую версию - https://github.com/d...ases/tag/v1.0.0



#65 DetektorV

DetektorV

    Участник

  • Пользователь
  • PipPip
  • 91 сообщений

Отправлено 08 Июль 2018 - 20:25

Добрый вечер,

include './vendor/autoload.php';
$token = 'qwertyuiopp';
$api = new Api($token);

 

Где взять библиотеку vendor? в старой версий, в папках её нет.

Composer не использую, может у кого есть папка со всеми недостающими файлами? скиньте пожалуйста.



#66 Santiago

Santiago

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 5 053 сообщений

Отправлено 08 Июль 2018 - 22:17

Добрый вечер,

include './vendor/autoload.php';
$token = 'qwertyuiopp';
$api = new Api($token);

 

Где взять библиотеку vendor? в старой версий, в папках её нет.

Composer не использую, может у кого есть папка со всеми недостающими файлами? скиньте пожалуйста.

https://github.com/d..._NO_COMPOSER.md



#67 DetektorV

DetektorV

    Участник

  • Пользователь
  • PipPip
  • 91 сообщений

Отправлено 09 Июль 2018 - 1:27

Спасибо 



#68 DetektorV

DetektorV

    Участник

  • Пользователь
  • PipPip
  • 91 сообщений

Отправлено 09 Июль 2018 - 20:16

В свете выхода новой ПУ и появлением такой функции, как API, что позволяет удаленно управлять сервером, написал класс, с помощью которого будет проще это делать.

https://github.com/u.../MyArena.Ru-API

Описание и примеры там же, на гитхабе

 

По ссылке расположен пакет для composer. Для тех, кто не использует composer, я оставил старую версию под тэгом 1.0.0. Ссылка на гитхаб на старую версию - https://github.com/d...ases/tag/v1.0.0

 

Здравствуйте, а можно посмотреть примеры реализаций консоли по  API? 

ибо к примеру по ссылке https://www.myarena....tconsole&token= можно получить консоль. 
А в сообщениях прошлых, которым более года, сказано что консоль получить нельзя. 



#69 Santiago

Santiago

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 5 053 сообщений

Отправлено 09 Июль 2018 - 21:30

Здравствуйте, а можно посмотреть примеры реализаций консоли по  API? 

ибо к примеру по ссылке https://www.myarena....tconsole&token= можно получить консоль. 
А в сообщениях прошлых, которым более года, сказано что консоль получить нельзя. 

Нет в наличии серверов, не на чем проверять...


Оказывается партнерка приносит денег) Завел сервер 1.6. Щас гляну можно ли сделать консоль


Спасибо 

Так не прокатит, ибо в зависимостях есть http клиент Guzzle.

Используйте тогда старую версию



#70 DetektorV

DetektorV

    Участник

  • Пользователь
  • PipPip
  • 91 сообщений

Отправлено 09 Июль 2018 - 22:53

Нет в наличии серверов, не на чем проверять...


Оказывается партнерка приносит денег) Завел сервер 1.6. Щас гляну можно ли сделать консоль


Так не прокатит, ибо в зависимостях есть http клиент Guzzle.

Используйте тогда старую версию

С нетерпением жду от вас ответа :))) 


Нет в наличии серверов, не на чем проверять...


Оказывается партнерка приносит денег) Завел сервер 1.6. Щас гляну можно ли сделать консоль


Так не прокатит, ибо в зависимостях есть http клиент Guzzle.

Используйте тогда старую версию

Я использую старую версию. 
И щас пытаюсь сделать консоль, я так понимаю консоль все же не реализуема???? 


$json=file_get_contents('https://www.myarena....ole&token=здесь токен' );
$json=json_decode($json,true);

может с помощью file_get_contents  как то можно???

 

UPD: 

 

Для тех кому интересно, решение найдено
 

<?php
$ch = curl_init();  
curl_setopt($ch, CURLOPT_URL, 'https://www.myarena....tconsole&token=Здесь ваш токен'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$result = curl_exec($ch); 
curl_close($ch);
print ("$result");
?>

Вставляйте туда, где хотите видеть консоль. не забудьте ввести свой токен.
По поводу настройки парсинга, обновления и прочее, это уже не ко мне. 
Надеюсь у майарены есть более нормальный вариант чем мой. 

Сообщение отредактировал DetektorV: 09 Июль 2018 - 22:55


#71 Santiago

Santiago

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 5 053 сообщений

Отправлено 09 Июль 2018 - 23:54

Обновил первый пост
  • DetektorV это нравится

#72 DetektorV

DetektorV

    Участник

  • Пользователь
  • PipPip
  • 91 сообщений

Отправлено 10 Июль 2018 - 0:30

Обновил первый пост

Круто, щас заюзаем, а есть наглядный пример использования?  (код)

 

При использовании свежей версий, без композера, выбивает ошибку. 

Warning: Unsupported declare 'strict_types' in \www\src\Api.php on line 3

Parse error: syntax error, unexpected 'function' (T_FUNCTION), expecting identifier (T_STRING) or \\ (T_NS_SEPARATOR) in \src\Api.php on line 8

<?php

include '/src/ApiException.php';
include '/src/Api.php';
include '/src/HostInfo.php';
include '/src/Player.php';
include '/src/Server.php';

$token = 'токен';
$api = new \DeSalvatierra\MyArena\Api\Api($token);

// Доступные методы

$api->start();              // Запуск сервера
$api->stop();               // Останов сервера
$api->restart();            // Перезапуск сервера
$api->status();             // Информация  о сервере
$api->mapList();            // Список карт
$api->resources();          // Получение занимаемых ресурсов
$api->getConsole();         // Получение консоли

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

$api->changeMap('de_dust2');  		// Сменить карту на de_dust2
$api->command('amx_reloadadmins');	// Отправить на сервер команду amx_reloadadmins

// Получение информации о сервере
$info = $api->status();

// Информация от хостинга:
$hostInfo = $info->getHostInfo();

$hostInfo->getAddress(); // Полный адрес с портом
$hostInfo->getBlockDate(); // Дата блокировки. Если null - значит сервер бесплатный
$hostInfo->getDays(); // Остаток дней аренды. Если 0 - значит либо истекает сегодня, либо бесплатный
$hostInfo->getGameName(); // Полное название игры
$hostInfo->getId(); // ID сервера на хостинге
$hostInfo->getLocation(); // Имя локации
$hostInfo->getSlots(); // Количество слотов по тарифу
$hostInfo->getTariff(); // Название тарифа

$info->getOnline();	        // Числовое значение статуса сервера (0 - Выключен, 1 - Работает, 2 - Запускается или завис)

echo $info->getStatus();	// Строковое представление статуса (Выключен, Работает, Запускается/Завис)
echo $info->getGame();		// Игра (cstrike, tf2, czero...)
echo $info->getEngine();	// Движок сервера (halflife, source, samp...)
echo $info->getIp();	    // IP сервера
echo $info->getPort();		// Порт сервера
echo $info->getName();      // Имя сервера
echo $info->getMap();       // Текущая карта
echo $info->getCurrentPlayers();   // Игроков на сервере
echo $info->getMaxPlayers();   // Кол-во слотов

// Информация об игроках
$players = $info->getPlayers();
?>

Как использовать $console = $api->getConsole(); в старой версий??


Сообщение отредактировал DetektorV: 10 Июль 2018 - 1:41


#73 Santiago

Santiago

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 5 053 сообщений

Отправлено 10 Июль 2018 - 2:57

Круто, щас заюзаем, а есть наглядный пример использования?  (код)

 

При использовании свежей версий, без композера, выбивает ошибку. 

Warning: Unsupported declare 'strict_types' in \www\src\Api.php on line 3

Parse error: syntax error, unexpected 'function' (T_FUNCTION), expecting identifier (T_STRING) or \\ (T_NS_SEPARATOR) in \src\Api.php on line 8

<?php

include '/src/ApiException.php';
include '/src/Api.php';
include '/src/HostInfo.php';
include '/src/Player.php';
include '/src/Server.php';

$token = 'токен';
$api = new \DeSalvatierra\MyArena\Api\Api($token);

// Доступные методы

$api->start();              // Запуск сервера
$api->stop();               // Останов сервера
$api->restart();            // Перезапуск сервера
$api->status();             // Информация  о сервере
$api->mapList();            // Список карт
$api->resources();          // Получение занимаемых ресурсов
$api->getConsole();         // Получение консоли

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

$api->changeMap('de_dust2');  		// Сменить карту на de_dust2
$api->command('amx_reloadadmins');	// Отправить на сервер команду amx_reloadadmins

// Получение информации о сервере
$info = $api->status();

// Информация от хостинга:
$hostInfo = $info->getHostInfo();

$hostInfo->getAddress(); // Полный адрес с портом
$hostInfo->getBlockDate(); // Дата блокировки. Если null - значит сервер бесплатный
$hostInfo->getDays(); // Остаток дней аренды. Если 0 - значит либо истекает сегодня, либо бесплатный
$hostInfo->getGameName(); // Полное название игры
$hostInfo->getId(); // ID сервера на хостинге
$hostInfo->getLocation(); // Имя локации
$hostInfo->getSlots(); // Количество слотов по тарифу
$hostInfo->getTariff(); // Название тарифа

$info->getOnline();	        // Числовое значение статуса сервера (0 - Выключен, 1 - Работает, 2 - Запускается или завис)

echo $info->getStatus();	// Строковое представление статуса (Выключен, Работает, Запускается/Завис)
echo $info->getGame();		// Игра (cstrike, tf2, czero...)
echo $info->getEngine();	// Движок сервера (halflife, source, samp...)
echo $info->getIp();	    // IP сервера
echo $info->getPort();		// Порт сервера
echo $info->getName();      // Имя сервера
echo $info->getMap();       // Текущая карта
echo $info->getCurrentPlayers();   // Игроков на сервере
echo $info->getMaxPlayers();   // Кол-во слотов

// Информация об игроках
$players = $info->getPlayers();
?>

Как использовать $console = $api->getConsole(); в старой версий??

Версия PHP не ниже 7.1 нужна.

В старой версии нет консоли



#74 DetektorV

DetektorV

    Участник

  • Пользователь
  • PipPip
  • 91 сообщений

Отправлено 10 Июль 2018 - 3:58

Версия PHP не ниже 7.1 нужна.

В старой версии нет консоли

Поставил 7.1. Проблема не ушла.

 

Warning: Unsupported declare 'strict_types' in /htdocs/cp/src/Api.php on line 3

Parse error: syntax error, unexpected 'function' (T_FUNCTION), expecting identifier (T_STRING) or \\ (T_NS_SEPARATOR) in /htdocs/cp/src/Api.php on line 8

Попробую из того говна что есть, слепить консоль. 

UPD: Проблема со скриптом решилась, но тогда проблема переходит на основной домен, ибо там двиг работает некорректно с версией 7.1.

Как сделаю свой вариант, если сделаю ... отпишусь сюда.


Сообщение отредактировал DetektorV: 10 Июль 2018 - 4:03


#75 echocage

echocage

    Новичок

  • Пользователь
  • Pip
  • 4 сообщений

Отправлено 09 Ноябрь 2021 - 21:37

Здравствуйте! При oтправлении кoманды 'say 123' на сервер(oтправляю с пoмoщью переменнoй $_POST), oтправляется "say%20123", пoдскажите пoжалуйста как правильнo вписывать прoбелы



#76 Kakoin

Kakoin

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 8 969 сообщений

Отправлено 10 Ноябрь 2021 - 11:13

Здравствуйте! При oтправлении кoманды 'say 123' на сервер

Что за команда say такая? Какая игра?
  

(oтправляю с пoмoщью переменнoй $_POST), oтправляется "say%20123", пoдскажите пoжалуйста как правильнo вписывать прoбелы


По идеи как то так

$command = htmlspecialchars($_POST['command'], ENT_QUOTES);
$api->command($command);


#77 echocage

echocage

    Новичок

  • Пользователь
  • Pip
  • 4 сообщений

Отправлено 12 Ноябрь 2021 - 20:45

Что за команда say такая? Какая игра?
  

По идеи как то так
 

$command = htmlspecialchars($_POST['command'], ENT_QUOTES);
$api->command($command);

Увы, не работает

 

Игра csgo


Сообщение отредактировал echocage: 12 Ноябрь 2021 - 20:46


#78 Kakoin

Kakoin

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 8 969 сообщений

Отправлено 12 Ноябрь 2021 - 21:20

Увы, не работает

 

Игра csgo

У меня нет сейчас серверов на слотовом тарифе и поэтому нет возможности чекнуть. напиши мне в личку (контакты в профиле). Попробуем что-нибудь придумать.



#79 ykpon

ykpon

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 4 027 сообщений

Отправлено 13 Ноябрь 2021 - 12:48

На гите issue создайте с проблемой. 



#80 RyanAnderson

RyanAnderson

    Пользователь

  • Пользователь
  • PipPipPip
  • 303 сообщений

Отправлено 08 Сентябрь 2022 - 1:07

Подскажите пожалуйста, как правильно написать следующее содержимое, что бы я просто смог получить список карт с сервера?

<?php
$token  = 'токен';
include './MyArenaAPI.php';

$server = new MyArenaAPI($token);

$info   = $server->mapList();

{
    $data = ('maps');
}
?>
<?php echo $data['maps']?>

Данный вариант не работает, точнее отображает первую букву содержимого $data = ('maps');, то есть m.


Подскажите пожалуйста, как правильно написать следующее содержимое, что бы я просто смог получить список карт с сервера?

<?php
$token  = 'токен';
include './MyArenaAPI.php';

$server = new MyArenaAPI($token);

$info   = $server->mapList();

{
    $data = ('maps');
}
?>
<?php echo $data['maps']?>

Данный вариант не работает, точнее отображает первую букву содержимого $data = ('maps');, то есть m.

<?php
$token  = 'токен';

include './MyArenaAPI.php';

// Экземпляр
$server       = new MyArenaAPI($token);
?>
<style>
body {
    font-weight: bold;
    color: #DCC24B;
    background: #231F20;
    font-family: "Trebuchet MS", "Lucida Sans";
    top: -0.7em;
}
</style>
<?php if($maps = $server->mapList()):?>
<?php echo $info['map']?>
<?php foreach($maps as $map):?>
<li><span style="name"><?php echo $map;?></span>
</li>
<?php endforeach;?>
</ul>
</div>
<?php else:?>
<?php echo $info['map']?>
<?php endif;?>




Темы с аналогичным тегами MyArena Api, API

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных