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

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

Ответ
Опции темы
Непрочитано 26.04.2016, 16:50   #1
Пользователь

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

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

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

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

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

Цитата:
Сообщение от GGteam Посмотреть сообщение
Можете проверить это, скачав чистый патч и клиент. Скорее всего дело в утечке памяти.
Сомневаюсь, он же не полностью зависает, я говорю примерно про *секундные подвисания
__________________
L2j Pane v1.7 - админка для вашего L2 сервера
Aleksey вне форума Ответить с цитированием
Непрочитано 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
Пользователь

Автор темы (Топик Стартер) 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 вне форума Ответить с цитированием
Непрочитано 30.04.2016, 21:50   #8
Аватар для afford
Пользователь

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

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

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

Цитата:
Сообщение от afford Посмотреть сообщение
Давненько было такое на опен тим сборке но решил Ден данную проблему.
Напиши ему вдруг что подскажет
Ссылку можно на него?
__________________
L2j Pane v1.7 - админка для вашего L2 сервера
Aleksey вне форума Ответить с цитированием
Непрочитано 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–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 11:01. Часовой пояс GMT +3.

Вверх