HighFive жуть страшная - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Игровой клиент

Игровой клиент Есть вопросы по поводу редактирования dat, utx и других файлов клиента, пожалуйста, задавайте их здесь.

Ответ
Опции темы
Непрочитано 26.04.2016, 16:50   #1
Аватар для Aleksey
Постоялец

Автор темы (Топик Стартер) HighFive жуть страшная

Клиент ХФ. Сделали тут бафера, бафнули набор, офигели. Клиент зависает сильно. Делаем тред слип 80, лучше не стало. Делаем тред слип 140 - сами понимаете. Собственно клиент подвисает при каждом баффе, даже не на наборах.
Вопрос таков: это у нас такой плохой клиент или проблема общая? Есть ли патчи на эту тему? Платные тоже интересуют
__________________
L2j Pane v1.7 - админка для вашего L2 сервера
Aleksey вне форума Отправить сообщение для Aleksey с помощью ICQ Отправить сообщение для Aleksey с помощью Skype™ Ответить с цитированием
Непрочитано 26.04.2016, 16:52   #2
Аватар для GGteam
Пользователь

По умолчанию Re: HighFive жуть страшная

Цитата:
Сообщение от Aleksey Посмотреть сообщение
Клиент ХФ. Сделали тут бафера, бафнули набор, офигели. Клиент зависает сильно. Делаем тред слип 80, лучше не стало. Делаем тред слип 140 - сами понимаете. Собственно клиент подвисает при каждом баффе, даже не на наборах.
Вопрос таков: это у нас такой плохой клиент или проблема общая? Есть ли патчи на эту тему? Платные тоже интересуют
Можете проверить это, скачав чистый патч и клиент. Скорее всего дело в утечке памяти.
GGteam вне форума Ответить с цитированием
Непрочитано 26.04.2016, 16:56   #3
Аватар для Aleksey
Постоялец

Автор темы (Топик Стартер) Re: HighFive жуть страшная

Цитата:
Сообщение от GGteam Посмотреть сообщение
Можете проверить это, скачав чистый патч и клиент. Скорее всего дело в утечке памяти.
Сомневаюсь, он же не полностью зависает, я говорю примерно про *секундные подвисания
__________________
L2j Pane v1.7 - админка для вашего L2 сервера
Aleksey вне форума Отправить сообщение для Aleksey с помощью ICQ Отправить сообщение для Aleksey с помощью Skype™ Ответить с цитированием
Непрочитано 26.04.2016, 17:15   #4
Аватар для Zubastic
ZG troll squad

По умолчанию Re: HighFive жуть страшная

Какой протокол? Нужны пакеты сервера, снифай с помощью пакетхака.
__________________
Zubastic на форуме Ответить с цитированием
Непрочитано 30.04.2016, 19:44   #5
Аватар для krisadr
Пользователь

По умолчанию Re: HighFive жуть страшная

каким методом накладывается бафф? Зависания проявляются только при накладывании набора или даже при единичном баффе тоже?
krisadr вне форума Ответить с цитированием
Непрочитано 30.04.2016, 20:39   #6
Аватар для Hack
Пользователь

По умолчанию Re: HighFive жуть страшная

Посмотри пакеткой что происходит. Почти уверен, что какой-то флуд
Hack вне форума Отправить сообщение для Hack с помощью Skype™ Ответить с цитированием
Непрочитано 30.04.2016, 21:39   #7
Аватар для Aleksey
Постоялец

Автор темы (Топик Стартер) Re: HighFive жуть страшная

Ну вот восстановление набора например
Код HTML:
                       else if (command.startsWith("_bbsbuffer;restore"))
345	                        {
346	                                String name = (command.split(" ").length >= 2) ? command.split(" ")[1] : "";
347	                                String WHO = (command.split(" ").length >= 3) ? command.split(" ")[2] : "Player";
348	                                if (name.length() < 1)
349	                                {
350	                                        MsgPacket msg = new MsgPacket("У Вас нет сохранённых бафов.", false);
351	                                        activeChar.sendPacket(msg);
352	                                }
353	                                else
354	                                {
355	                                        try (Connection conn = ConnectionFactory.getInstance().getConnection();
356	                                                PreparedStatement statement = conn.prepareStatement("SELECT * FROM  cb_buffer WHERE charId=? AND buff_name=?"))
357	                                        {
358	                                                statement.setInt(1, activeChar.getObjectId());
359	                                                statement.setString(2, name);
360	                                                try (ResultSet rcln = statement.executeQuery())
361	                                                {
362	                                                        while (rcln.next())
363	                                                        {
364	                                                                String[] buffs = rcln.getString("buff_save").split(";");
365	                                                                for (String bu : buffs)
366	                                                                {
367	                                                                        Integer[] buffData = BufferData.getInstance().getBuffById(Integer.parseInt(bu));
368	                                                                       
369	                                                                        if (buffData != null)
370	                                                                        {
371	                                                                                if (buffData[2] != 0)
372	                                                                                {
373	                                                                                        if (activeChar.destroyItemByItemId("BufferService", buffData[2], buffData[3], null, true))
374	                                                                                        {
375	                                                                                                Thread.sleep(80);
376	                                                                                                Skill bf = SkillData.getInstance().getSkill(buffData[0], buffData[1]);
377	                                                                                                if (WHO.equals("Player"))
378	                                                                                                {
379	                                                                                                        bf.applyEffects(activeChar, activeChar);
380	                                                                                                }
381	                                                                                                else
382	                                                                                                {
383	                                                                                                        bf.applyEffects(activeChar, activeChar.getSummon());
384	                                                                                                }
385	                                                                                        }
386	                                                                                }
387	                                                                                else
388	                                                                                {
389	                                                                                        Thread.sleep(80);
390	                                                                                        Skill bf = SkillData.getInstance().getSkill(buffData[0], buffData[1]);
391	                                                                                        if (WHO.equals("Player"))
392	                                                                                        {
393	                                                                                                bf.applyEffects(activeChar, activeChar);
394	                                                                                        }
395	                                                                                        else
396	                                                                                        {
397	                                                                                                bf.applyEffects(activeChar, activeChar.getSummon());
398	                                                                                        }
399	                                                                                }
400	                                                                        }
401	                                                                }
402	                                                        }
403	                                                        rcln.close();
404	                                                }
405	                                                statement.close();
406	                                                conn.close();
407	                                        }
408	                                        catch (Exception e)
409	                                        {
410	                                                _log.log(Level.WARNING, "Could not restore buff info: " + e.getMessage(), e);
411	                                        }
412	                                }
__________________
L2j Pane v1.7 - админка для вашего L2 сервера
Aleksey вне форума Отправить сообщение для Aleksey с помощью ICQ Отправить сообщение для Aleksey с помощью Skype™ Ответить с цитированием
Непрочитано 30.04.2016, 21:50   #8
Аватар для afford
Пользователь

По умолчанию Re: HighFive жуть страшная

Давненько было такое на опен тим сборке но решил Ден данную проблему.
Напиши ему вдруг что подскажет
afford вне форума Ответить с цитированием
Непрочитано 30.04.2016, 21:54   #9
Аватар для Aleksey
Постоялец

Автор темы (Топик Стартер) Re: HighFive жуть страшная

Цитата:
Сообщение от afford Посмотреть сообщение
Давненько было такое на опен тим сборке но решил Ден данную проблему.
Напиши ему вдруг что подскажет
Ссылку можно на него?
__________________
L2j Pane v1.7 - админка для вашего L2 сервера
Aleksey вне форума Отправить сообщение для Aleksey с помощью ICQ Отправить сообщение для Aleksey с помощью Skype™ Ответить с цитированием
Непрочитано 30.04.2016, 21:58   #10
Аватар для ANZO
Разработчик BDO Emu

По умолчанию Re: HighFive жуть страшная

Что за жесть.
Вы чуть что слипаете весь основной поток своим sleep() + чтение каждый раз и базы.
В любом случае: запускаете сервер с профайлером, бафаетесь и смотрите в профайлере что в этот момент сьело больше всего CPU.
ANZO вне форума Отправить сообщение для ANZO с помощью ICQ Отправить сообщение для ANZO с помощью Skype™ Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Продам] проект HighFive x50 GoGLiK Рынок / Marketplace 7 25.01.2015 19:49
LameGuard HighFive Landver Рынок / Marketplace 3 06.10.2013 10:21
Please Help / HighFive didubelikost Lineage II 4 22.02.2013 19:11
[Продам] LG HighFive за копейки! Krickt105 Рынок / Marketplace 4 05.11.2012 22:20
HighFive? Mr.Bear Курилка / Yak floor 8 07.08.2011 11:22


© 2007–2019 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 03:16. Часовой пояс GMT +3.

Вверх