CMS под l2patch c4

Fermer

нуб
Участник
Сообщения
144
Розыгрыши
0
Репутация
53
Реакции
46
Баллы
445
Приветствую всех,с недавнего времени решил для себя начать изучать сборку с4 l2patch.
Сборка запущена,что то получается,что то нет ( пытаюсь многое для себя изучить ).
Следующий для меня шаг это выбор CMS для сайта ( желательно бесплатный ).
В начале мой взор упал на MMOWEB 2 часть,видел до сих пор у многих бюджетных серверов стоит,но так как руки не привыкли к этому я потерпел фиаско,не смог поставить это чудо.
Далее я начал с меньшего дабы хоть чему то научиться для начала,а именно решил поставить l2dev .
Сервер у меня стоит на виртуал боксе на ПК,туда поставил AppServ,вроде получается,сайт отображается.
На сайте отображается онлайн,количество игроков,но не работает подключение к БД ( не работает регистрация и всё остальное)
В файле config.php я прописал свои данные для подключения к БД :
//Подключение к базе аккаунтов
$mssql_host = "127.0.0.1";
$mssql_login = "sa";
$mssql_pass = "12345678";
// Подключение к игровой базе
$mssql_host2 = $mssql_host;
$mssql_login2 = $mssql_login;
$mssql_pass2 = $mssql_pass;
// Имена баз данных
$lin2db = "lin2db";
$lin2world = "lin2world";

Данные все верные указал,но подключения всё равно нет:(
Знаю ( слышал,читал) ,что l2patch использует старые запросы к БД,что что то ,где то возможно надо переписывать.
Может у кого то завалялось уже готовое решение.
Просьба не кидаться камнями,просьба помочь.
 

Вложения

  • Screenshot_25.jpg
    Screenshot_25.jpg
    21,6 КБ · Просмотры: 59

Лучшая цмс для сервера это 3 страницы html и модуль реги восстановления аккаунта. А по факту, смотрите свой php. Ini включён ли в нем ms sql connect. Открыты ли порты для внешнего подключения к серверу ms sql.
 
По ошибке вашей видно, что скрипт не понимает, что такое за функция mssql select, соответственно не подключена библиотека mssql в конфигурации php сайта. Подробнее о способе подключения есть на сайте php.
 
По ошибке вашей видно, что скрипт не понимает, что такое за функция mssql select, соответственно не подключена библиотека mssql в конфигурации php сайта. Подробнее о способе подключения есть на сайте php.
Как быть,как решить проблему?
 
Как быть,как решить проблему?
 
спасибо,разобрался с этим.
 
Тоже пользуюсь mmo-dev , т.к. другие пока не получилось заставить работать нормально). Но у нас маленький некоммерческий сервер для друзей, так что его пока хватает
 
Соглашусь с wmzbot.
Задолбался я как-то патчить эту рухлядь(при всем уважении к разработчикам), и написал сам за несколько вечеров минималистичный ЛК.
Зато уверен, что нет шеллов и ничего не отвалится. А если отвалится, то свой код починить всегда проще.
У меня тоже проект небольшой, "академический" я бы сказал :)
 
Запрещено публиковать исходный код без BB-кода — CODE
Привет,вот такая вот ошибка :
Код:
Notice: Undefined variable: notconnected in E:\OpenServer\domains\localhost\classes\cached_2.class.php on line 399

Кусочек из этого файла :
PHP:
function CheckCharacterPacket($char_id) {
            global $cached_errors;
            global $cached_ip,$cached_port;     //message style
            $rs='';
            $buf = pack("cV", 1,$char_id).$this->tounicode_UA($this->webadmin);
            $cachedsocket=@fsockopen($this->cachedip, $this->cachedport, $errno, $errstr, 1) or die($notconnected);     та самая 399 линия
            fwrite($cachedsocket,pack("s",(strlen($buf)+2)).$buf);
            $len=unpack("v",fread($cachedsocket,2));
            $rid=unpack("c",fread($cachedsocket,1));
            for($i=0;$i<(($len[1]-4)/4);$i++){
                $read=unpack("i",fread($cachedsocket,4));
                $rs.=$read[1];
            }
            fclose($cachedsocket);
            return $rs;
        }

Скрипт работать должен так,что на сайте есть рубли и эти рубли переводятся в колы на персонажа.
Спасибо
 
Последнее редактирование модератором:
@Fermer,а если так
PHP:
$cachedsocket=@fsockopen($this->cachedip, $this->cachedport, $errno, $errstr, 1) or die($errstr);
вообще переменная $notconnected должна быть объявлена до ее использования, чего как раз таки нет в функции CheckCharacterPacket.
 
@Fermer,а если так
PHP:
$cachedsocket=@fsockopen($this->cachedip, $this->cachedport, $errno, $errstr, 1) or die($errstr);
вообще переменная $notconnected должна быть объявлена до ее использования, чего как раз таки нет в функции CheckCharacterPacket.
как быть? могу в лс полностью код скинуть
 
Fermer, я написал как попробовать, можно даже так
Код:
$cachedsocket=@fsockopen($this->cachedip, $this->cachedport, $errno, $errstr, 1) or die( "$errno: $errstr" );

Часть кода or die будет выполнена если по каким-то причинам не удалось открыть соединение с сокетом по указанному IP-адресу/порту.
Часть кода, который я представил, выведет номер и текст ошибки, если не удается подключится к сокету
 
Fermer, я написал как попробовать, можно даже так
Код:
$cachedsocket=@fsockopen($this->cachedip, $this->cachedport, $errno, $errstr, 1) or die( "$errno: $errstr" );

Часть кода or die будет выполнена если по каким-то причинам не удалось открыть соединение с сокетом по указанному IP-адресу/порту.
Часть кода, который я представил, выведет номер и текст ошибки, если не удается подключится к сокету
Код:
10060: ������� ���������� ���������� ���� �����������, �.�. �� ������� ���������� �� ��������� ����� �� ������� ������ ������, ��� ���� ��������� ��� ������������� ���������� ��-�� ��������� ������� ��� ������������� ����������.
 
Код:
10060: ������� ���������� ���������� ���� �����������, �.�. �� ������� ���������� �� ��������� ����� �� ������� ������ ������, ��� ���� ��������� ��� ������������� ���������� ��-�� ��������� ������� ��� ������������� ����������.
текст ошибки не прочитать из-за проблем с кодировкой. частая проблема на вэбсерверах из серии openserver и т.п. под виндой
 
текст ошибки не прочитать из-за проблем с кодировкой. частая проблема на вэбсерверах из серии openserver и т.п. под виндой
да,опенсервер стоит.
php 5.5 поставил вот код:
Код:
10060: Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера.
 
Fermer,
  • не верно указан IP/порт
  • порт не доступен извне (доступ к нему закрыт роутером/фаерволом/брандмауэр)
причин неудачного подключения множество
 
Fermer,
  • не верно указан IP/порт
  • порт не доступен извне (доступ к нему закрыт роутером/фаерволом/брандмауэр)
причин неудачного подключения множество
вроде поправил немного,той ошибки не стало,стало вот это:

Код:
Warning: unpack(): Type v: not enough input, need 2, have 0 in E:\OpenServer\domains\localhost\classes\cached_2.class.php on line 401

Warning: unpack(): Type c: not enough input, need 1, have 0 in E:\OpenServer\domains\localhost\classes\cached_2.class.php on line 402

Fatal error: Maximum execution time of 60 seconds exceeded in E:\OpenServer\domains\localhost\classes\cached_2.class.php on line 426

Код из скрипта:

Код:
/**
        *CheckCharacterPacket
        *Проверяет online чар или  offline
        *@param char_id
        *@return int возврат результата операции
        */
        function CheckCharacterPacket($char_id) {
            global $cached_errors;
            global $cached_ip,$cached_port;     //message style
            $rs='';
            $buf = pack("cV", 1,$char_id).$this->tounicode_UA($this->webadmin);
            $cachedsocket=@fsockopen($this->cachedip, $this->cachedport, $errno, $errstr, 1) or die($notconnected);
            fwrite($cachedsocket,pack("s",(strlen($buf)+2)).$buf);
            $len=unpack("v",fread($cachedsocket,2));
            $rid=unpack("c",fread($cachedsocket,1));
            for($i=0;$i<(($len[1]-4)/4);$i++){
                $read=unpack("i",fread($cachedsocket,4));
                $rs.=$read[1];
            }
            fclose($cachedsocket);
            return $rs;
        }
 
Fermer,
Код:
Warning: unpack(): Type v: not enough input, need 2, have 0 in E:\OpenServer\domains\localhost\classes\cached_2.class.php on line 401
не удалось прочесть 2 байта / распаковать данные
Код:
Warning: unpack(): Type c: not enough input, need 1, have 0 in E:\OpenServer\domains\localhost\classes\cached_2.class.php on line 402
не удалось прочесть 1 байта / распаковать данные

кэшед или не ответил, или ответил менее чем 2 байта. Есть подозрения что в этот момент кешед нещадно сыпет ошибками.
Или вы шлете пакет с неверной структурой, или же пытаетесь отправить в кешед не на тот порт "webadmin"
смотрите настройки кешеда, может чего не включили
 
Назад
Сверху Снизу