Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

200 страниц V  « 5 6 7 ... 198 199 »

CS:Bans - замена AmxBans

Статус пользователя f1nik
сообщение 12.11.2013, 11:31
Сообщение #101


Иконка группы

Стаж: 15 лет

Сообщений: 1862
Благодарностей: 932
Полезность: 1010

Цитата(xoymiii @ 12.11.2013, 10:40) *
у меня баны добавляются в бан лист, а сервер не видно нигде, не показывает вообще сервер... в чём может быть проблема?



))) У меня проблема с отображением игроков... количество видит карты тоже а вот списка не выдает....((( Ну да ладно думаю в ближайшее время пофиксят...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 12.11.2013, 11:33
Сообщение #102


Иконка группы

Стаж: 14 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

Цитата(f1nik @ 12.11.2013, 12:31) *
))) У меня проблема с отображением игроков... количество видит карты тоже а вот списка не выдает....((( Ну да ладно думаю в ближайшее время пофиксят...

Какраз этим занимаемся
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя xoymiii
сообщение 12.11.2013, 11:55
Сообщение #103


Стаж: 13 лет

Сообщений: 769
Благодарностей: 244
Полезность: 567

а мой вопрос проигнорили?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 12.11.2013, 12:09
Сообщение #104


Иконка группы

Стаж: 14 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

Цитата(xoymiii @ 12.11.2013, 11:55) *
а мой вопрос проигнорили?

Опиши подробнее
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя xoymiii
сообщение 12.11.2013, 12:28
Сообщение #105


Стаж: 13 лет

Сообщений: 769
Благодарностей: 244
Полезность: 567

Цитата(onotole @ 12.11.2013, 14:09) *
Опиши подробнее

на вкладке главная и серверы не отображается сервер, там пусто, а баны в банлист пишутся...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 12.11.2013, 21:48
Сообщение #106


Иконка группы

Стаж: 14 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

Цитата(xoymiii @ 12.11.2013, 13:28) *
на вкладке главная и серверы не отображается сервер, там пусто, а баны в банлист пишутся...

Ссылку
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 14.11.2013, 6:33
Сообщение #107


Иконка группы

Стаж: 14 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

Архив обновлен. Все замечания устранены.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя xomjak
сообщение 14.11.2013, 20:11
Сообщение #108
Стаж: 13 лет

Сообщений: 20
Благодарностей: 1
Полезность: 39

После обновления постоянно (Получение информации с серверов) а потом (Сервер не отвечает...)! Но сервер включен! На предыдущей версии всё работало кроме отображения игроков. В настройках Rcon команды на сервер stat и.т.д проходят успешно.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 14.11.2013, 20:15
Сообщение #109


Иконка группы

Стаж: 14 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

Цитата(xomjak @ 14.11.2013, 20:11) *
После обновления постоянно (Получение информации с серверов) а потом (Сервер не отвечает...)! Но сервер включен! На предыдущей версии всё работало кроме отображения игроков. В настройках Rcon команды на сервер stat и.т.д проходят успешно.

Ссылку
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя xomjak
сообщение 14.11.2013, 20:24
Сообщение #110
Стаж: 13 лет

Сообщений: 20
Благодарностей: 1
Полезность: 39

Цитата(onotole @ 14.11.2013, 20:15) *
Ссылку


Отправил в ЛС

Цитата(onotole @ 14.11.2013, 20:15) *
Ссылку

А так же не работают админки на сервере которые прописаны через банлист!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя xoymiii
сообщение 14.11.2013, 20:30
Сообщение #111


Стаж: 13 лет

Сообщений: 769
Благодарностей: 244
Полезность: 567

у меня работает всё норм, админки не пробовал через базу прописывать... кстати когда архив обновите? обещали 2 дня назад

Отредактировал: xoymiii, - 14.11.2013, 20:31
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 14.11.2013, 21:11
Сообщение #112


Иконка группы

Стаж: 14 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

Цитата(xomjak @ 14.11.2013, 21:24) *
Отправил в ЛС


А так же не работают админки на сервере которые прописаны через банлист!

Издеваешься? сё у тебя нормально отображается.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя xomjak
сообщение 14.11.2013, 21:13
Сообщение #113
Стаж: 13 лет

Сообщений: 20
Благодарностей: 1
Полезность: 39

Цитата(onotole @ 14.11.2013, 21:11) *
Издеваешься? сё у тебя нормально отображается.

Нет это я обратно заменил файл Serverinfo.php. Всё вернул обратно как било!

Отредактировал: xomjak, - 14.11.2013, 21:15
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 14.11.2013, 21:15
Сообщение #114


Иконка группы

Стаж: 14 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

Цитата(xomjak @ 14.11.2013, 21:13) *
Нет это я обратно заменил файл Serverinfo.php

На какой?

Да, извиняюсь, был косяк.
В архиве заменил файл с ошибкой
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя xomjak
сообщение 14.11.2013, 21:20
Сообщение #115
Стаж: 13 лет

Сообщений: 20
Благодарностей: 1
Полезность: 39

Цитата(onotole @ 14.11.2013, 21:15) *
На какой?

Да, извиняюсь, был косяк.
В архиве заменил файл с ошибкой


Это со старой версии файл
Скрытый текст
Код
<?php
/**
* @author Craft-Soft Team
* @version 1.0 beta
* @copyright (C)2013 Craft-Soft.ru.  Все права защищены.
* @package CS:Bans
* @link http://craft-soft.ru/
*/

/**
* Модель для таблицы "{{serverinfo}}".
*
* Доступные поля таблицы '{{serverinfo}}':
* @property integer $id ID сервера
* @property integer $timestamp Дата
* @property string $hostname Название сервера
* @property string $address Адрес
* @property string $gametype Тип игры
* @property string $rcon RCON пароль
* @property string $amxban_version Версия плагина
* @property string $amxban_motd Ссылка на MOTD
* @property integer $motd_delay Время показа MOTD
* @property integer $amxban_menu Меню (?)
* @property integer $reasons Причины
* @property integer $timezone_fixx Разница во времени
*/
class Serverinfo extends CActiveRecord
{
    private $connect;
    public $players = null;
    public $playersmax = null;
    public $name = null;
    public $map = null;
    public $game = null;
    public $os = null;
    public $osimg = null;
    public $secure = null;
    public $playersinfo = array();
    public $online = null;
    public $modimg = null;
    public $vacimg = null;
    public $contact = null;
    public $nextmap = null;
    public $timeleft = null;
    public $mapimg = null;

    public static function model($className=__CLASS__)
    {
        return parent::model($className);
    }

    public function tableName()
    {
        return '{{serverinfo}}';
    }

    public function rules()
    {
        return array(
            array('motd_delay, amxban_menu, reasons, timezone_fixx', 'numerical', 'integerOnly'=>true),
            array('rcon', 'length', 'max'=>32),
            array('amxban_motd', 'length', 'max'=>250),
            array('id, timestamp, hostname, address, gametype, rcon, amxban_version, amxban_motd, motd_delay, amxban_menu, reasons, timezone_fixx', 'safe', 'on'=>'search'),
        );
    }

    public function relations()
    {
        return array();
    }

    public function attributeLabels()
    {
        return array(
            'id' => 'ID',
            'timestamp' => 'Дата',
            'hostname' => 'Имя сервера',
            'address' => 'Адрес',
            'gametype' => 'Мод',
            'rcon' => 'Rcon',
            'amxban_version' => 'Версия',
            'amxban_motd' => 'MOTD',
            'motd_delay' => 'Задержка перед MOTD',
            'amxban_menu' => 'Меню Amxban',
            'reasons' => 'Группы причин банов',
            'timezone_fixx' => 'Разница во времени',
            'map' => 'Карта'
        );
    }

    public function search()
    {
        $criteria=new CDbCriteria;

        $criteria->compare('id',$this->id);
        $criteria->compare('timestamp',$this->timestamp);
        $criteria->compare('hostname',$this->hostname,true);
        $criteria->compare('address',$this->address,true);
        $criteria->compare('gametype',$this->gametype,true);
        $criteria->compare('rcon',$this->rcon,true);
        $criteria->compare('amxban_version',$this->amxban_version,true);
        $criteria->compare('amxban_motd',$this->amxban_motd,true);
        $criteria->compare('motd_delay',$this->motd_delay);
        $criteria->compare('amxban_menu',$this->amxban_menu);
        $criteria->compare('reasons',$this->reasons);
        $criteria->compare('timezone_fixx',$this->timezone_fixx);

        return new CActiveDataProvider($this, array(
            'criteria'=>$criteria,
        ));
    }

    protected function afterFind() {
        parent::afterFind();

        if(!$this->amxban_motd)
            $this->amxban_motd = 'http://'.$_SERVER['SERVER_NAME'] . Yii::app()->urlManager->baseUrl . DIRECTORY_SEPARATOR . 'motd.php?sid=%s&adm=%d&lang=%s';

        $this->connect = new Rcon();

        $sip = explode(':',  $this->address);

        $this->connect->Connect($sip[0], $sip[1]);



        //echo 'Info()';
        //echo '<pre>';
        //print_r($server->Info());
        //echo '</pre>';
        //echo '<pre>';
        //print_r($server->ServerRules());
        //echo '</pre>';
        ////echo 'Players()';
        //echo '<pre>';
        //print_r($this->connect->Players());
        //echo '</pre>';


        //$rules = $this->connect->ServerRules();
        $info = $this->connect->Info();

        $this->online = $this->connect->connected;

        if($this->online)
        {
            $this->players = $info['activeplayers'];
            $this->playersmax = $info['maxplayers'];
            $this->name = $info['name'];
            $this->map = $info['map'];
            $this->game = $info['mod'];
            $this->os = $info['os'] == 'l' ? 'Linux' : 'Windows';
            $this->secure = $info['secure'] == 1 ? true : false;
            $this->playersinfo = is_array($this->connect->Players()) ? $this->connect->Players() : array();
            $this->timeleft = @$rules['amx_timeleft'];
            $this->nextmap = @$rules['amx_nextmap'];
            $this->contact = @$rules['sv_contact'];
            $game = $this->gametype ? $this->gametype : $this->game;
            $this->modimg = Yii::app()->urlManager->baseUrl .
                    DIRECTORY_SEPARATOR .
                    "images".
                    DIRECTORY_SEPARATOR .
                    "games" .
                    DIRECTORY_SEPARATOR .
                    $game .
                    ".gif";
            $this->vacimg = Yii::app()->urlManager->baseUrl .
                    DIRECTORY_SEPARATOR .
                    "images".
                    DIRECTORY_SEPARATOR .
                    ($this->secure ? "vac.png" : "no_vac.png");
            $this->osimg = Yii::app()->urlManager->baseUrl .
                    DIRECTORY_SEPARATOR .
                    "images".
                    DIRECTORY_SEPARATOR .
                    "os" .
                    DIRECTORY_SEPARATOR .
                    $this->os.
                    ".png";

            if(!$this->online)
            {
                $mapimage = Yii::app()->urlManager->baseUrl ."/images/maps/noresponse.jpg";
            }
            elseif(is_file(ROOTPATH ."/images/maps/" . $game . '/' . $this->map . ".jpg"))
            {
                $mapimage = Yii::app()->urlManager->baseUrl . "/images/maps/" . $game . '/' . $this->map . ".jpg";
            }
            else
            {
                $mapimage = Yii::app()->urlManager->baseUrl . "/images/maps/" . $game . "/noimage.jpg";
            }

            $this->mapimg = CHtml::image($mapimage, $this->map, array('title' => $this->map, 'class' => 'img-polaroid'));

        }
        return TRUE;
    }

    public function rconCommand($command)
    {
        $addr = explode(':', $this->address);

        $rcon = new Rcon;
        $rcon->Connect($addr[0], $addr[1], $this->rcon);

        $test = $rcon->RconCommand('echo Hi');

        if($test == 'Bad rcon_password.' || $test == 'No password set for this server.' || $test != 'Hi')
            return FALSE;

        return $rcon->RconCommand(CHtml::encode ($command));
    }

    public function getPlayersInfo()
    {
        if(!$this->rcon)
            return FALSE;

        $q = $this->rconCommand('amx_list');

        if(!$q)
            return FALSE;

        $players = array();
        foreach(explode("\x0A", $q) as $p)
        {
            $i = explode("\xFC", $p);

            switch($i[4])
            {
                case 0:
                    $type = 'Игрок';
                    break;
                case 1:
                    $type = 'Бот';
                    break;
                case 2:
                    $type = 'HLTV';
                    break;
                default :
                    $type = 'Неизвестен';
            }

            $players[] = array(
                'nick' => $i[0],
                'userid' => $i[1],
                'steamid' => $i[2],
                'ip' => $i[3],
                'playertype' => $type,
                'immunity' => $i[5]
            );
        }
        return $players;
    }

    public static function getCommands()
    {
        return array(
            '' => 'Выберите команду',
            'amx_reloadadmins' => 'Перезагрузить список админов',
            'restart' => 'Перезапустить карту/плагины',
            'stats' => 'Команда stats',
            'status' => 'Команда status',
            'amx_plugins' => 'Список AMX плагинов',
            'amx_modules' => 'Список AMX модулей',
            'meta list' => 'Список модулей MetaMod'
        );
    }

    public static function getAllServers($all = TRUE, $id = false)
    {
        $model = Serverinfo::model()->findAll();

        $return = array();

        if($all)
            $return['0'] = 'Выберите сервер';

        foreach($model as $server)
        {
            $return[$id ? $server->id : $server->address] = $server->hostname;
        }

        if($all)
            $return['unknown'] = 'Любой сервер';

        return $return;
    }

    public function afterSave() {
        if($this->isNewRecord)
            Syslog::add(Logs::LOG_ADDED, 'Добавлен новый сервер <strong>' . $this->address . '</strong>');
        else
            Syslog::add(Logs::LOG_EDITED, 'Изменены детали сервера <strong>' . $this->hostname . '</strong>');
        return parent::afterSave();
    }

    public function afterDelete() {
        Syslog::add(Logs::LOG_DELETED, 'Удален сервер <strong>' . $this->address . '</strong>');
        return parent::afterDelete();
    }

}


Это с новой версии файл которую ви виложили сегодня с утра!

Скрытый текст
Код
<?php
/**
* @author Craft-Soft Team
* @version 1.0 beta
* @copyright (C)2013 Craft-Soft.ru.  Все права защищены.
* @package CS:Bans
* @link http://craft-soft.ru/
*/

/**
* Модель для таблицы "{{serverinfo}}".
*
* Доступные поля таблицы '{{serverinfo}}':
* @property integer $id ID сервера
* @property integer $timestamp Дата
* @property string $hostname Название сервера
* @property string $address Адрес
* @property string $gametype Тип игры
* @property string $rcon RCON пароль
* @property string $amxban_version Версия плагина
* @property string $amxban_motd Ссылка на MOTD
* @property integer $motd_delay Время показа MOTD
* @property integer $amxban_menu Меню (?)
* @property integer $reasons Причины
* @property integer $timezone_fixx Разница во времени
*/
class Serverinfo extends CActiveRecord
{
    private $connect;
    public $players = null;
    public $playersmax = null;
    public $name = null;
    public $map = null;
    public $game = null;
    public $os = null;
    public $osimg = null;
    public $secure = null;
    public $playersinfo = array();
    public $online = null;
    public $modimg = null;
    public $vacimg = null;
    public $contact = null;
    public $nextmap = null;
    public $timeleft = null;
    public $mapimg = null;

    public static function model($className=__CLASS__)
    {
        return parent::model($className);
    }

    public function tableName()
    {
        return '{{serverinfo}}';
    }

    public function rules()
    {
        return array(
            array('motd_delay, amxban_menu, reasons, timezone_fixx', 'numerical', 'integerOnly'=>true),
            array('rcon', 'length', 'max'=>32),
            array('amxban_motd', 'length', 'max'=>250),
            array('id, timestamp, hostname, address, gametype, rcon, amxban_version, amxban_motd, motd_delay, amxban_menu, reasons, timezone_fixx', 'safe', 'on'=>'search'),
        );
    }

    public function relations()
    {
        return array();
    }

    public function attributeLabels()
    {
        return array(
            'id' => 'ID',
            'timestamp' => 'Дата',
            'hostname' => 'Имя сервера',
            'address' => 'Адрес',
            'gametype' => 'Мод',
            'rcon' => 'Rcon',
            'amxban_version' => 'Версия',
            'amxban_motd' => 'MOTD',
            'motd_delay' => 'Задержка перед MOTD',
            'amxban_menu' => 'Меню Amxban',
            'reasons' => 'Группы причин банов',
            'timezone_fixx' => 'Разница во времени',
            'map' => 'Карта'
        );
    }

    public function search()
    {
        $criteria=new CDbCriteria;

        $criteria->compare('id',$this->id);
        $criteria->compare('timestamp',$this->timestamp);
        $criteria->compare('hostname',$this->hostname,true);
        $criteria->compare('address',$this->address,true);
        $criteria->compare('gametype',$this->gametype,true);
        $criteria->compare('rcon',$this->rcon,true);
        $criteria->compare('amxban_version',$this->amxban_version,true);
        $criteria->compare('amxban_motd',$this->amxban_motd,true);
        $criteria->compare('motd_delay',$this->motd_delay);
        $criteria->compare('amxban_menu',$this->amxban_menu);
        $criteria->compare('reasons',$this->reasons);
        $criteria->compare('timezone_fixx',$this->timezone_fixx);

        return new CActiveDataProvider($this, array(
            'criteria'=>$criteria,
        ));
    }

    protected function afterFind() {
        parent::afterFind();

        if(!$this->amxban_motd)
            $this->amxban_motd = 'http://'.$_SERVER['SERVER_NAME'] . Yii::app()->urlManager->baseUrl . DIRECTORY_SEPARATOR . 'motd.php?sid=%s&adm=%d&lang=%s';

        $sip = explode(':',  $this->address);
        include ROOTPATH . '/include/lgsl_query.php';
        $server = query_live('halflife', $sip[0], $sip[1], $sip[1], '0', 'spet');

        $fields_show  = array("name", "score", "time");
        $fields_hide  = array("teamindex", "pid", "pbguid");
        $fields = lgsl_sort_fields($server, $fields_show, $fields_hide, FALSE);
        $server = lgsl_sort_players($server);
        $rules = array();
        $this->online = $server['b']['status'];
        
        if($this->online)
        {
            $this->players = $server['s']['players'];
            $this->playersmax = $server['s']['playersmax'];
            $this->name = $server['s']['name'];
            $this->map = $server['s']['map'];
            $this->game = $server['s']['game'];
            $this->os = $server['e']['os'] == 'l' ? 'Linux' : 'Windows';
            $this->secure = $server['e']['anticheat'] == 0 ? FALSE : TRUE;
            $this->playersinfo = is_array($server['p']) ? $server['p'] : array();
            $this->timeleft = isset($server['e']['amx_timeleft'])?$server['e']['amx_timeleft']:false;
            $this->nextmap = isset($server['e']['amx_nextmap'])?$server['e']['amx_nextmap']:FALSE;
            $this->contact = isset($server['e']['sv_contact'])?$server['e']['sv_contact']:FALSE;
            $game = $this->gametype ? $this->gametype : $this->game;
            $this->modimg = Yii::app()->urlManager->baseUrl .
                    DIRECTORY_SEPARATOR .
                    "images".
                    DIRECTORY_SEPARATOR .
                    "games" .
                    DIRECTORY_SEPARATOR .
                    $game .
                    ".gif";
            $this->vacimg = Yii::app()->urlManager->baseUrl .
                    DIRECTORY_SEPARATOR .
                    "images".
                    DIRECTORY_SEPARATOR .
                    ($this->secure ? "vac.png" : "no_vac.png");
            $this->osimg = Yii::app()->urlManager->baseUrl .
                    DIRECTORY_SEPARATOR .
                    "images".
                    DIRECTORY_SEPARATOR .
                    "os" .
                    DIRECTORY_SEPARATOR .
                    $this->os.
                    ".png";

            if(!$this->online)
            {
                $mapimage = Yii::app()->urlManager->baseUrl ."/images/maps/noresponse.jpg";
            }
            elseif(is_file(ROOTPATH ."/images/maps/" . $game . '/' . $this->map . ".jpg"))
            {
                $mapimage = Yii::app()->urlManager->baseUrl . "/images/maps/" . $game . '/' . $this->map . ".jpg";
            }
            else
            {
                $mapimage = Yii::app()->urlManager->baseUrl . "/images/maps/" . $game . "/noimage.jpg";
            }

            $this->mapimg = CHtml::image($mapimage, $this->map, array('title' => $this->map, 'class' => 'img-polaroid'));

        }
        return TRUE;
    }

    public function rconCommand($command)
    {
        $addr = explode(':', $this->address);

        $rcon = new Rcon;
        $rcon->Connect($addr[0], $addr[1], $this->rcon);

        $test = $rcon->RconCommand('echo Hi');

        if($test == 'Bad rcon_password.' || $test == 'No password set for this server.' || $test != 'Hi')
            return FALSE;

        return $rcon->RconCommand(CHtml::encode ($command));
    }

    public function getPlayersInfo()
    {
        if(!$this->rcon)
            return FALSE;

        $q = $this->rconCommand('amx_list');

        if(!$q)
            return FALSE;

        $players = array();
        foreach(explode("\x0A", $q) as $p)
        {
            $i = explode("\xFC", $p);

            switch($i[4])
            {
                case 0:
                    $type = 'Игрок';
                    break;
                case 1:
                    $type = 'Бот';
                    break;
                case 2:
                    $type = 'HLTV';
                    break;
                default :
                    $type = 'Неизвестен';
            }

            $players[] = array(
                'nick' => $i[0],
                'userid' => $i[1],
                'steamid' => $i[2],
                'ip' => $i[3],
                'playertype' => $type,
                'immunity' => $i[5]
            );
        }
        return $players;
    }

    public static function getCommands()
    {
        return array(
            '' => 'Выберите команду',
            'amx_reloadadmins' => 'Перезагрузить список админов',
            'restart' => 'Перезапустить карту/плагины',
            'stats' => 'Команда stats',
            'status' => 'Команда status',
            'amx_plugins' => 'Список AMX плагинов',
            'amx_modules' => 'Список AMX модулей',
            'meta list' => 'Список модулей MetaMod'
        );
    }

    public static function getAllServers($all = TRUE, $id = false)
    {
        $model = Serverinfo::model()->findAll();

        $return = array();

        if($all)
            $return['0'] = 'Выберите сервер';

        foreach($model as $server)
        {
            $return[$id ? $server->id : $server->address] = $server->hostname;
        }

        if($all)
            $return['unknown'] = 'Любой сервер';

        return $return;
    }

    public function afterSave() {
        if($this->isNewRecord)
            Syslog::add(Logs::LOG_ADDED, 'Добавлен новый сервер <strong>' . $this->address . '</strong>');
        else
            Syslog::add(Logs::LOG_EDITED, 'Изменены детали сервера <strong>' . $this->hostname . '</strong>');
        return parent::afterSave();
    }

    public function afterDelete() {
        Syslog::add(Logs::LOG_DELETED, 'Удален сервер <strong>' . $this->address . '</strong>');
        return parent::afterDelete();
    }

}


А также даже после замени файла админки всё равно не работают!

Отредактировал: xomjak, - 14.11.2013, 21:19
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 14.11.2013, 21:26
Сообщение #116


Иконка группы

Стаж: 14 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

Цитата(xomjak @ 14.11.2013, 22:20) *
Это со старой версии файл
Скрытый текст
Код
<?php
/**
* @author Craft-Soft Team
* @version 1.0 beta
* @copyright (C)2013 Craft-Soft.ru.  Все права защищены.
* @package CS:Bans
* @link http://craft-soft.ru/
*/

/**
* Модель для таблицы "{{serverinfo}}".
*
* Доступные поля таблицы '{{serverinfo}}':
* @property integer $id ID сервера
* @property integer $timestamp Дата
* @property string $hostname Название сервера
* @property string $address Адрес
* @property string $gametype Тип игры
* @property string $rcon RCON пароль
* @property string $amxban_version Версия плагина
* @property string $amxban_motd Ссылка на MOTD
* @property integer $motd_delay Время показа MOTD
* @property integer $amxban_menu Меню (?)
* @property integer $reasons Причины
* @property integer $timezone_fixx Разница во времени
*/
class Serverinfo extends CActiveRecord
{
    private $connect;
    public $players = null;
    public $playersmax = null;
    public $name = null;
    public $map = null;
    public $game = null;
    public $os = null;
    public $osimg = null;
    public $secure = null;
    public $playersinfo = array();
    public $online = null;
    public $modimg = null;
    public $vacimg = null;
    public $contact = null;
    public $nextmap = null;
    public $timeleft = null;
    public $mapimg = null;

    public static function model($className=__CLASS__)
    {
        return parent::model($className);
    }

    public function tableName()
    {
        return '{{serverinfo}}';
    }

    public function rules()
    {
        return array(
            array('motd_delay, amxban_menu, reasons, timezone_fixx', 'numerical', 'integerOnly'=>true),
            array('rcon', 'length', 'max'=>32),
            array('amxban_motd', 'length', 'max'=>250),
            array('id, timestamp, hostname, address, gametype, rcon, amxban_version, amxban_motd, motd_delay, amxban_menu, reasons, timezone_fixx', 'safe', 'on'=>'search'),
        );
    }

    public function relations()
    {
        return array();
    }

    public function attributeLabels()
    {
        return array(
            'id' => 'ID',
            'timestamp' => 'Дата',
            'hostname' => 'Имя сервера',
            'address' => 'Адрес',
            'gametype' => 'Мод',
            'rcon' => 'Rcon',
            'amxban_version' => 'Версия',
            'amxban_motd' => 'MOTD',
            'motd_delay' => 'Задержка перед MOTD',
            'amxban_menu' => 'Меню Amxban',
            'reasons' => 'Группы причин банов',
            'timezone_fixx' => 'Разница во времени',
            'map' => 'Карта'
        );
    }

    public function search()
    {
        $criteria=new CDbCriteria;

        $criteria->compare('id',$this->id);
        $criteria->compare('timestamp',$this->timestamp);
        $criteria->compare('hostname',$this->hostname,true);
        $criteria->compare('address',$this->address,true);
        $criteria->compare('gametype',$this->gametype,true);
        $criteria->compare('rcon',$this->rcon,true);
        $criteria->compare('amxban_version',$this->amxban_version,true);
        $criteria->compare('amxban_motd',$this->amxban_motd,true);
        $criteria->compare('motd_delay',$this->motd_delay);
        $criteria->compare('amxban_menu',$this->amxban_menu);
        $criteria->compare('reasons',$this->reasons);
        $criteria->compare('timezone_fixx',$this->timezone_fixx);

        return new CActiveDataProvider($this, array(
            'criteria'=>$criteria,
        ));
    }

    protected function afterFind() {
        parent::afterFind();

        if(!$this->amxban_motd)
            $this->amxban_motd = 'http://'.$_SERVER['SERVER_NAME'] . Yii::app()->urlManager->baseUrl . DIRECTORY_SEPARATOR . 'motd.php?sid=%s&adm=%d&lang=%s';

        $this->connect = new Rcon();

        $sip = explode(':',  $this->address);

        $this->connect->Connect($sip[0], $sip[1]);



        //echo 'Info()';
        //echo '<pre>';
        //print_r($server->Info());
        //echo '</pre>';
        //echo '<pre>';
        //print_r($server->ServerRules());
        //echo '</pre>';
        ////echo 'Players()';
        //echo '<pre>';
        //print_r($this->connect->Players());
        //echo '</pre>';


        //$rules = $this->connect->ServerRules();
        $info = $this->connect->Info();

        $this->online = $this->connect->connected;

        if($this->online)
        {
            $this->players = $info['activeplayers'];
            $this->playersmax = $info['maxplayers'];
            $this->name = $info['name'];
            $this->map = $info['map'];
            $this->game = $info['mod'];
            $this->os = $info['os'] == 'l' ? 'Linux' : 'Windows';
            $this->secure = $info['secure'] == 1 ? true : false;
            $this->playersinfo = is_array($this->connect->Players()) ? $this->connect->Players() : array();
            $this->timeleft = @$rules['amx_timeleft'];
            $this->nextmap = @$rules['amx_nextmap'];
            $this->contact = @$rules['sv_contact'];
            $game = $this->gametype ? $this->gametype : $this->game;
            $this->modimg = Yii::app()->urlManager->baseUrl .
                    DIRECTORY_SEPARATOR .
                    "images".
                    DIRECTORY_SEPARATOR .
                    "games" .
                    DIRECTORY_SEPARATOR .
                    $game .
                    ".gif";
            $this->vacimg = Yii::app()->urlManager->baseUrl .
                    DIRECTORY_SEPARATOR .
                    "images".
                    DIRECTORY_SEPARATOR .
                    ($this->secure ? "vac.png" : "no_vac.png");
            $this->osimg = Yii::app()->urlManager->baseUrl .
                    DIRECTORY_SEPARATOR .
                    "images".
                    DIRECTORY_SEPARATOR .
                    "os" .
                    DIRECTORY_SEPARATOR .
                    $this->os.
                    ".png";

            if(!$this->online)
            {
                $mapimage = Yii::app()->urlManager->baseUrl ."/images/maps/noresponse.jpg";
            }
            elseif(is_file(ROOTPATH ."/images/maps/" . $game . '/' . $this->map . ".jpg"))
            {
                $mapimage = Yii::app()->urlManager->baseUrl . "/images/maps/" . $game . '/' . $this->map . ".jpg";
            }
            else
            {
                $mapimage = Yii::app()->urlManager->baseUrl . "/images/maps/" . $game . "/noimage.jpg";
            }

            $this->mapimg = CHtml::image($mapimage, $this->map, array('title' => $this->map, 'class' => 'img-polaroid'));

        }
        return TRUE;
    }

    public function rconCommand($command)
    {
        $addr = explode(':', $this->address);

        $rcon = new Rcon;
        $rcon->Connect($addr[0], $addr[1], $this->rcon);

        $test = $rcon->RconCommand('echo Hi');

        if($test == 'Bad rcon_password.' || $test == 'No password set for this server.' || $test != 'Hi')
            return FALSE;

        return $rcon->RconCommand(CHtml::encode ($command));
    }

    public function getPlayersInfo()
    {
        if(!$this->rcon)
            return FALSE;

        $q = $this->rconCommand('amx_list');

        if(!$q)
            return FALSE;

        $players = array();
        foreach(explode("\x0A", $q) as $p)
        {
            $i = explode("\xFC", $p);

            switch($i[4])
            {
                case 0:
                    $type = 'Игрок';
                    break;
                case 1:
                    $type = 'Бот';
                    break;
                case 2:
                    $type = 'HLTV';
                    break;
                default :
                    $type = 'Неизвестен';
            }

            $players[] = array(
                'nick' => $i[0],
                'userid' => $i[1],
                'steamid' => $i[2],
                'ip' => $i[3],
                'playertype' => $type,
                'immunity' => $i[5]
            );
        }
        return $players;
    }

    public static function getCommands()
    {
        return array(
            '' => 'Выберите команду',
            'amx_reloadadmins' => 'Перезагрузить список админов',
            'restart' => 'Перезапустить карту/плагины',
            'stats' => 'Команда stats',
            'status' => 'Команда status',
            'amx_plugins' => 'Список AMX плагинов',
            'amx_modules' => 'Список AMX модулей',
            'meta list' => 'Список модулей MetaMod'
        );
    }

    public static function getAllServers($all = TRUE, $id = false)
    {
        $model = Serverinfo::model()->findAll();

        $return = array();

        if($all)
            $return['0'] = 'Выберите сервер';

        foreach($model as $server)
        {
            $return[$id ? $server->id : $server->address] = $server->hostname;
        }

        if($all)
            $return['unknown'] = 'Любой сервер';

        return $return;
    }

    public function afterSave() {
        if($this->isNewRecord)
            Syslog::add(Logs::LOG_ADDED, 'Добавлен новый сервер <strong>' . $this->address . '</strong>');
        else
            Syslog::add(Logs::LOG_EDITED, 'Изменены детали сервера <strong>' . $this->hostname . '</strong>');
        return parent::afterSave();
    }

    public function afterDelete() {
        Syslog::add(Logs::LOG_DELETED, 'Удален сервер <strong>' . $this->address . '</strong>');
        return parent::afterDelete();
    }

}


Это с новой версии файл которую ви виложили сегодня с утра!

Скрытый текст
Код
<?php
/**
* @author Craft-Soft Team
* @version 1.0 beta
* @copyright (C)2013 Craft-Soft.ru.  Все права защищены.
* @package CS:Bans
* @link http://craft-soft.ru/
*/

/**
* Модель для таблицы "{{serverinfo}}".
*
* Доступные поля таблицы '{{serverinfo}}':
* @property integer $id ID сервера
* @property integer $timestamp Дата
* @property string $hostname Название сервера
* @property string $address Адрес
* @property string $gametype Тип игры
* @property string $rcon RCON пароль
* @property string $amxban_version Версия плагина
* @property string $amxban_motd Ссылка на MOTD
* @property integer $motd_delay Время показа MOTD
* @property integer $amxban_menu Меню (?)
* @property integer $reasons Причины
* @property integer $timezone_fixx Разница во времени
*/
class Serverinfo extends CActiveRecord
{
    private $connect;
    public $players = null;
    public $playersmax = null;
    public $name = null;
    public $map = null;
    public $game = null;
    public $os = null;
    public $osimg = null;
    public $secure = null;
    public $playersinfo = array();
    public $online = null;
    public $modimg = null;
    public $vacimg = null;
    public $contact = null;
    public $nextmap = null;
    public $timeleft = null;
    public $mapimg = null;

    public static function model($className=__CLASS__)
    {
        return parent::model($className);
    }

    public function tableName()
    {
        return '{{serverinfo}}';
    }

    public function rules()
    {
        return array(
            array('motd_delay, amxban_menu, reasons, timezone_fixx', 'numerical', 'integerOnly'=>true),
            array('rcon', 'length', 'max'=>32),
            array('amxban_motd', 'length', 'max'=>250),
            array('id, timestamp, hostname, address, gametype, rcon, amxban_version, amxban_motd, motd_delay, amxban_menu, reasons, timezone_fixx', 'safe', 'on'=>'search'),
        );
    }

    public function relations()
    {
        return array();
    }

    public function attributeLabels()
    {
        return array(
            'id' => 'ID',
            'timestamp' => 'Дата',
            'hostname' => 'Имя сервера',
            'address' => 'Адрес',
            'gametype' => 'Мод',
            'rcon' => 'Rcon',
            'amxban_version' => 'Версия',
            'amxban_motd' => 'MOTD',
            'motd_delay' => 'Задержка перед MOTD',
            'amxban_menu' => 'Меню Amxban',
            'reasons' => 'Группы причин банов',
            'timezone_fixx' => 'Разница во времени',
            'map' => 'Карта'
        );
    }

    public function search()
    {
        $criteria=new CDbCriteria;

        $criteria->compare('id',$this->id);
        $criteria->compare('timestamp',$this->timestamp);
        $criteria->compare('hostname',$this->hostname,true);
        $criteria->compare('address',$this->address,true);
        $criteria->compare('gametype',$this->gametype,true);
        $criteria->compare('rcon',$this->rcon,true);
        $criteria->compare('amxban_version',$this->amxban_version,true);
        $criteria->compare('amxban_motd',$this->amxban_motd,true);
        $criteria->compare('motd_delay',$this->motd_delay);
        $criteria->compare('amxban_menu',$this->amxban_menu);
        $criteria->compare('reasons',$this->reasons);
        $criteria->compare('timezone_fixx',$this->timezone_fixx);

        return new CActiveDataProvider($this, array(
            'criteria'=>$criteria,
        ));
    }

    protected function afterFind() {
        parent::afterFind();

        if(!$this->amxban_motd)
            $this->amxban_motd = 'http://'.$_SERVER['SERVER_NAME'] . Yii::app()->urlManager->baseUrl . DIRECTORY_SEPARATOR . 'motd.php?sid=%s&adm=%d&lang=%s';

        $sip = explode(':',  $this->address);
        include ROOTPATH . '/include/lgsl_query.php';
        $server = query_live('halflife', $sip[0], $sip[1], $sip[1], '0', 'spet');

        $fields_show  = array("name", "score", "time");
        $fields_hide  = array("teamindex", "pid", "pbguid");
        $fields = lgsl_sort_fields($server, $fields_show, $fields_hide, FALSE);
        $server = lgsl_sort_players($server);
        $rules = array();
        $this->online = $server['b']['status'];
        
        if($this->online)
        {
            $this->players = $server['s']['players'];
            $this->playersmax = $server['s']['playersmax'];
            $this->name = $server['s']['name'];
            $this->map = $server['s']['map'];
            $this->game = $server['s']['game'];
            $this->os = $server['e']['os'] == 'l' ? 'Linux' : 'Windows';
            $this->secure = $server['e']['anticheat'] == 0 ? FALSE : TRUE;
            $this->playersinfo = is_array($server['p']) ? $server['p'] : array();
            $this->timeleft = isset($server['e']['amx_timeleft'])?$server['e']['amx_timeleft']:false;
            $this->nextmap = isset($server['e']['amx_nextmap'])?$server['e']['amx_nextmap']:FALSE;
            $this->contact = isset($server['e']['sv_contact'])?$server['e']['sv_contact']:FALSE;
            $game = $this->gametype ? $this->gametype : $this->game;
            $this->modimg = Yii::app()->urlManager->baseUrl .
                    DIRECTORY_SEPARATOR .
                    "images".
                    DIRECTORY_SEPARATOR .
                    "games" .
                    DIRECTORY_SEPARATOR .
                    $game .
                    ".gif";
            $this->vacimg = Yii::app()->urlManager->baseUrl .
                    DIRECTORY_SEPARATOR .
                    "images".
                    DIRECTORY_SEPARATOR .
                    ($this->secure ? "vac.png" : "no_vac.png");
            $this->osimg = Yii::app()->urlManager->baseUrl .
                    DIRECTORY_SEPARATOR .
                    "images".
                    DIRECTORY_SEPARATOR .
                    "os" .
                    DIRECTORY_SEPARATOR .
                    $this->os.
                    ".png";

            if(!$this->online)
            {
                $mapimage = Yii::app()->urlManager->baseUrl ."/images/maps/noresponse.jpg";
            }
            elseif(is_file(ROOTPATH ."/images/maps/" . $game . '/' . $this->map . ".jpg"))
            {
                $mapimage = Yii::app()->urlManager->baseUrl . "/images/maps/" . $game . '/' . $this->map . ".jpg";
            }
            else
            {
                $mapimage = Yii::app()->urlManager->baseUrl . "/images/maps/" . $game . "/noimage.jpg";
            }

            $this->mapimg = CHtml::image($mapimage, $this->map, array('title' => $this->map, 'class' => 'img-polaroid'));

        }
        return TRUE;
    }

    public function rconCommand($command)
    {
        $addr = explode(':', $this->address);

        $rcon = new Rcon;
        $rcon->Connect($addr[0], $addr[1], $this->rcon);

        $test = $rcon->RconCommand('echo Hi');

        if($test == 'Bad rcon_password.' || $test == 'No password set for this server.' || $test != 'Hi')
            return FALSE;

        return $rcon->RconCommand(CHtml::encode ($command));
    }

    public function getPlayersInfo()
    {
        if(!$this->rcon)
            return FALSE;

        $q = $this->rconCommand('amx_list');

        if(!$q)
            return FALSE;

        $players = array();
        foreach(explode("\x0A", $q) as $p)
        {
            $i = explode("\xFC", $p);

            switch($i[4])
            {
                case 0:
                    $type = 'Игрок';
                    break;
                case 1:
                    $type = 'Бот';
                    break;
                case 2:
                    $type = 'HLTV';
                    break;
                default :
                    $type = 'Неизвестен';
            }

            $players[] = array(
                'nick' => $i[0],
                'userid' => $i[1],
                'steamid' => $i[2],
                'ip' => $i[3],
                'playertype' => $type,
                'immunity' => $i[5]
            );
        }
        return $players;
    }

    public static function getCommands()
    {
        return array(
            '' => 'Выберите команду',
            'amx_reloadadmins' => 'Перезагрузить список админов',
            'restart' => 'Перезапустить карту/плагины',
            'stats' => 'Команда stats',
            'status' => 'Команда status',
            'amx_plugins' => 'Список AMX плагинов',
            'amx_modules' => 'Список AMX модулей',
            'meta list' => 'Список модулей MetaMod'
        );
    }

    public static function getAllServers($all = TRUE, $id = false)
    {
        $model = Serverinfo::model()->findAll();

        $return = array();

        if($all)
            $return['0'] = 'Выберите сервер';

        foreach($model as $server)
        {
            $return[$id ? $server->id : $server->address] = $server->hostname;
        }

        if($all)
            $return['unknown'] = 'Любой сервер';

        return $return;
    }

    public function afterSave() {
        if($this->isNewRecord)
            Syslog::add(Logs::LOG_ADDED, 'Добавлен новый сервер <strong>' . $this->address . '</strong>');
        else
            Syslog::add(Logs::LOG_EDITED, 'Изменены детали сервера <strong>' . $this->hostname . '</strong>');
        return parent::afterSave();
    }

    public function afterDelete() {
        Syslog::add(Logs::LOG_DELETED, 'Удален сервер <strong>' . $this->address . '</strong>');
        return parent::afterDelete();
    }

}


А также даже после замени файла админки всё равно не работают!

Если твои админки не работают - скрипт никоим образом в этом не виноват. Плагин берет админки из базы а не из скрипта.
Файл я обновил 15 минут назад, и я умею читать свои скрипты, не нужно меня в них тыкать!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя xomjak
сообщение 14.11.2013, 21:32
Сообщение #117
Стаж: 13 лет

Сообщений: 20
Благодарностей: 1
Полезность: 39

Цитата(onotole @ 14.11.2013, 21:26) *
Если твои админки не работают - скрипт никоим образом в этом не виноват. Плагин берет админки из базы а не из скрипта.
Файл я обновил 15 минут назад, и я умею читать свои скрипты, не нужно меня в них тыкать!


Я не хочу Вам ничего показывать а тем более доказывать! Прошу прощение если Вы меня не правильно поняли!
Я скачал архив по новой но повторяется такая же ситуация! (Сервер не отвечает...)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 14.11.2013, 21:34
Сообщение #118


Иконка группы

Стаж: 14 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

Цитата(xomjak @ 14.11.2013, 21:32) *
Я не хочу Вам ничего показывать а тем более доказывать! Прошу прощение если Вы меня не правильно поняли!
Я скачал архив по новой но повторяется такая же ситуация! (Сервер не отвечает...)

Сервер не отвечает - это только по тому, что Ваш сервер не отдает информацию, или он попросту забанил IP адрес хостинга.
Скрипт был скачан только за сегодня более 30 раз, почему же из них всех проблема только у Вас?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя xomjak
сообщение 14.11.2013, 22:43
Сообщение #119
Стаж: 13 лет

Сообщений: 20
Благодарностей: 1
Полезность: 39

Цитата(onotole @ 14.11.2013, 21:34) *
Сервер не отвечает - это только по тому, что Ваш сервер не отдает информацию, или он попросту забанил IP адрес хостинга.
Скрипт был скачан только за сегодня более 30 раз, почему же из них всех проблема только у Вас?


Может бить проблема в dproto. Я общался с тех поддержкой они написали что на сервере всё нормально! Обмен между скриптом и сервером есть но всё равно нету отображения ни сервера ни игроков!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 14.11.2013, 22:45
Сообщение #120


Иконка группы

Стаж: 14 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

Цитата(xomjak @ 14.11.2013, 22:43) *
Может бить проблема в dproto. Я общался с тех поддержкой они написали что на сервере всё нормально! Обмен между скриптом и сервером есть но всё равно нету отображения ни сервера ни игроков!

Ссылку
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
200 страниц V  « 5 6 7 ... 198 199 »
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 5 гостей читают эту тему: