Username:    Password:        Click Here To Signup     Forgotten Password
Main Menu
Online
Members: 0

Guests: 41

144.76.x.x forum
151.80.x.x forum
151.80.x.x dilbertplus
46.229.x.x forum
46.229.x.x forum
46.229.x.x forum
46.229.x.x dilbertplus
46.229.x.x forum
46.229.x.x forum
46.229.x.x forum
46.229.x.x forum
46.229.x.x forum
46.229.x.x dilbertplus
46.229.x.x dilbertplus
46.229.x.x forum
46.229.x.x forum
46.229.x.x user
46.229.x.x user
5.196.x.x forum
5.255.x.x forum
54.235.x.x forum
54.36.x.x dilbertplus
54.36.x.x dilbertplus
54.36.x.x forum
54.36.x.x dilbertplus
54.36.x.x forum
54.36.x.x dilbertplus
54.36.x.x dilbertplus
54.36.x.x dilbertplus
54.36.x.x forum
54.36.x.x forum
54.36.x.x forum
54.36.x.x dilbertplus
54.36.x.x forum
54.36.x.x forum
54.36.x.x dilbertplus
54.36.x.x lgsl
54.36.x.x forum
54.36.x.x dilbertplus
66.249.x.x user
78.46.x.x dilbertplus

Last Seen

Wussie Mon 01:59
Dodgeitorelse Mon 16:49
85filip58 Wed 12:06
Bommel Mon 18:20
Apophis01 Wed 12:35

Newest Members

Forum
Richard Perry - GreyCube.com :: Forums :: Public :: Live Game Server List - No English :: Re: LGSL и игры на платформе HL2
Your Name:
Reply:


Jump:

Thread Topic
Rostov114
Posted: Tue Oct 12 2010, 03:27PM
На некоторых серверах на ядре HL2 не отображалась подробная информация о сервере (настройки сервера) [ возможно даже сервер определялся как оффлайн ].


Вот исправление


Открыть: ./lgsl_files/lgsl_protocol.php
Найти:
elseif ($packet_type == 4) { $packet_order = ord($packet[9]);      $packet = substr($packet, 18); }

Заменить на:
            elseif ($packet_type == 4) 
            { 
                $packet_order = ord($packet[9]);
 
                if ($packet_order == 0)
                {
                    list(, $packet_checksum) = unpack('V', substr($packet, 14, 4)); // CRC32 checksum
                    $packet = substr($packet, 18); 
                }
                else
                {
                    $packet = substr($packet, 10); 
                }
            }

Найти:
$buffer = bzdecompress($buffer);

Добавить ниже:
              if (crc32($buffer) != $packet_checksum)
            {
                $server['e']['bzip2'] = "unavailable"; $lgsl_need['e'] = FALSE;
                return TRUE;
            }

Закрыть и загрузить на сервер.

Ошибка имееться в том числе в версии 5.8.

Опережая крики нафига это у меня все нормально, рассказываю некоторые сервера отдают информацию в BZip и в 2х пакетах, LGSL по дефолту и 2го пакета режет 18 байт сверху ( хотя если продолжение пакета то служебная информация занимает всего 10 байт ) из-за этого повреждался сам архив и естественно его не возможно было распаковать.
$packet_checksum - хеш CRC32 данных в архиве, т.е. если архив и распаковался...но оказался поврежденным то дальше его обрабатывать нет смысла поэтому и делается выход.
Latest replies

You are not logged in - Click Here To Signup

Username:    Password:   

Mini Buttons

.... © GreyCube.com - Richard Perry - Powered by e107.org