Добрейшего дня. Такая проблема, запускаю снифер, вручную все норм работает инфу собирает, отправляет на сервер автоматом, но не хочет сам бегать, просматривать лавки, режим волкер включен. Что я делаю не так ? :)
Добрейшего дня. Такая проблема, запускаю снифер, вручную все норм работает инфу собирает, отправляет на сервер автоматом, но не хочет сам бегать, просматривать лавки, режим волкер включен. Что я делаю не так ? :)
k вычисляется для каждого сервера на основе динамики за последнюю минуту
Это очевидно, только я думал не за последнюю минуту, а за минут 5-10 хотя бы, там меньше флуктуаций, и соответственно усредненное значение будет более близким к реальному. Но это не суть.
код функции проанализирован неверно. ... Кому интересно, сам может посмотреть.
Да пожалуйста, смотрите. Только к чему кидаться такими словами, если даже не аргументируете это. Причем не только сам код был проанализирован, но и его пошаговое выполнение с обзором всех переменных, включая k, getServerTime(), и всех тегов data-x.
js
function predictOnline(value, k, time){ if (value меньше 20) return value; var valueEx = value + Math.floor(Math.random() * 3) — 1; if (value меньше 50) return valueEx; var maxK = (Math.min(value * 0.5, 300) / 120) * (k больше 0 ? 1 : -1); if (Math.abs(k) больше Math.abs(maxK)) k = maxK; return Math.round(valueEx + (k * Math.min(120, Math.max(0, getServerTime() — time)))); }
Онлайн меньше 20 — никакого обновления не будет (посекундного, речь именно о нем). Онлайн меньше 50 — тупо раз в секунду рандомом либо +1, либо -1, или же +0. Онлайн меньше 600 — тогда k всегда будет не больше Math.min(value * 0.5, 300) / 120. И чем меньше онлайн, тем меньше k. Ясень пень, дабы ограничить неправдоподобное изменение скажем в 15 человек для сервера с низким онлайном, например 100. Онлайн больше 600 (наш случай) — k будет не больше 2.5, опять же чтобы изменение не было слишком огромным, ибо для сервера в 2000 чел., k было бы равно 2000 / 120 = 16. За одну лишь минуту могло набежать до 2000+16*60 = 2960 !! (и даже бы 60 раз постоянный рандом -1 не помог). По косточкам все расписал.
только для того, чтобы было видно, что значения обновляются без перезагрузки.
Впрочем, тут весь ответ. Но с тем же успехом, скажем random(-x, x) справился, ведь через минуту все равно покажет совсем другой онлайн. На примере кадмуса — ваш рандомный счетчик из онлайна 1785 сделал 1792, страница обновилась — и опа, онлайн 1768, и счетчик снова пошел плясать, но уже вокруг этого числа.
Раз уж тут "Обсуждение проекта L2on", решил написать. Стало интересно, каким образом каждую секунду обновляется онлайн напротив каждого сервера. Неужто каждую секунду идет обращение к серверу. Начал копать — оказалось такооой бред! Это делает функция predictOnline(). Для серверов с онлайном больше 600 вычисляется по такой формуле:
где старый_онлайн — это онлайн секунду назад, k — коэффициент роста/падения онлайна (человек в секунду), и для серверов руоффа он примерно +-0,05, а то и меньше. Причем если бы каждые 60 секунд вся страница целиком заново не сбрасывалась клиенту аяксом (незаметно для пользователя), полученный таким образом онлайн рос (или падал) бы бесконечно.
Получается, что онлайн гуляет небольшими шажками (1-6 чел) относительно своего первоначального значения практически тупо по РАНДОМУ, а не берется из базы l2on. То есть если на сервере реальная прибавка будет скажем 30 чел., в этот момент счетчик запросто может показать -2. Все понятно, снижение нагрузки на сервер и прочее,... но, Hint, для чего?? Лишь бы циферки менялись? Статичные цифры сейчас не модно, зато выводить полный бред, основанный на предугадывании (predict) рандомом, это круто?!
Только вот онлайн обновляется на сервере раз в минуту, данные в браузер загружаются с сервера тоже раз в минуту, а k вычисляется для каждого сервера на основе динамики за последнюю минуту. А плюс или минус один только для того, чтобы было видно, что значения обновляются без перезагрузки. И вообще код функции проанализирован неверно. Не буду объяснять. Кому интересно, сам может посмотреть.
Раз уж тут "Обсуждение проекта L2on", решил написать. Стало интересно, каким образом каждую секунду обновляется онлайн напротив каждого сервера. Неужто каждую секунду идет обращение к серверу. Начал копать — оказалось такооой бред! Это делает функция predictOnline(). Для серверов с онлайном больше 600 вычисляется по такой формуле:
где старый_онлайн — это онлайн секунду назад, k — коэффициент роста/падения онлайна (человек в секунду), и для серверов руоффа он примерно +-0,05, а то и меньше. Причем если бы каждые 60 секунд вся страница целиком заново не сбрасывалась клиенту аяксом (незаметно для пользователя), полученный таким образом онлайн рос (или падал) бы бесконечно.
Получается, что онлайн гуляет небольшими шажками (1-6 чел) относительно своего первоначального значения практически тупо по РАНДОМУ, а не берется из базы l2on. То есть если на сервере реальная прибавка будет скажем 30 чел., в этот момент счетчик запросто может показать -2. Все понятно, снижение нагрузки на сервер и прочее,... но, Hint, для чего?? Лишь бы циферки менялись? Статичные цифры сейчас не модно, зато выводить полный бред, основанный на предугадывании (predict) рандомом, это круто?!
скокль авери админам платит или че, но почему на их сайте сумарный онлайн меньше чем тут кажет? а один раз было тут почти 12тыщ а на сайте 150тел( тоесть реальный онлайн)
сумарный онлайн "кажет" о сумме всех серверов включая умершие и которые исчисляются 150 челами онлайна.
скокль авери админам платит или че, но почему на их сайте сумарный онлайн меньше чем тут кажет? а один раз было тут почти 12тыщ а на сайте 150тел( тоесть реальный онлайн)
Обсуждение проекта L2on
у этого чара перепутвны в описании дуал и основа, он фео
этот режим не работает давно на сколько я знаю
Такая проблема, запускаю снифер, вручную все норм работает инфу собирает, отправляет на сервер автоматом, но не хочет сам бегать, просматривать лавки, режим волкер включен.
Что я делаю не так ? :)
Я об этом написал, зачем повторять-то?
Это очевидно, только я думал не за последнюю минуту, а за минут 5-10 хотя бы, там меньше флуктуаций, и соответственно усредненное значение будет более близким к реальному. Но это не суть.
Да пожалуйста, смотрите. Только к чему кидаться такими словами, если даже не аргументируете это. Причем не только сам код был проанализирован, но и его пошаговое выполнение с обзором всех переменных, включая k, getServerTime(), и всех тегов data-x.
Онлайн меньше 20 — никакого обновления не будет (посекундного, речь именно о нем).
Онлайн меньше 50 — тупо раз в секунду рандомом либо +1, либо -1, или же +0.
Онлайн меньше 600 — тогда k всегда будет не больше Math.min(value * 0.5, 300) / 120. И чем меньше онлайн, тем меньше k. Ясень пень, дабы ограничить неправдоподобное изменение скажем в 15 человек для сервера с низким онлайном, например 100.
Онлайн больше 600 (наш случай) — k будет не больше 2.5, опять же чтобы изменение не было слишком огромным, ибо для сервера в 2000 чел., k было бы равно 2000 / 120 = 16. За одну лишь минуту могло набежать до 2000+16*60 = 2960 !! (и даже бы 60 раз постоянный рандом -1 не помог). По косточкам все расписал.
Впрочем, тут весь ответ. Но с тем же успехом, скажем random(-x, x) справился, ведь через минуту все равно покажет совсем другой онлайн. На примере кадмуса — ваш рандомный счетчик из онлайна 1785 сделал 1792, страница обновилась — и опа, онлайн 1768, и счетчик снова пошел плясать, но уже вокруг этого числа.
Закрыл.
Только вот онлайн обновляется на сервере раз в минуту, данные в браузер загружаются с сервера тоже раз в минуту, а k вычисляется для каждого сервера на основе динамики за последнюю минуту. А плюс или минус один только для того, чтобы было видно, что значения обновляются без перезагрузки.
И вообще код функции проанализирован неверно. Не буду объяснять. Кому интересно, сам может посмотреть.
Cadmus + Kain = Cadmus
Athebaldt + Desperion = Athebaldt
Это делает функция predictOnline(). Для серверов с онлайном больше 600 вычисляется по такой формуле:
новый_онлайн = старый_онлайн + k * сколько_сек_открыта_страница + RANDOM(-1, 1) ;
где старый_онлайн — это онлайн секунду назад, k — коэффициент роста/падения онлайна (человек в секунду), и для серверов руоффа он примерно +-0,05, а то и меньше. Причем если бы каждые 60 секунд вся страница целиком заново не сбрасывалась клиенту аяксом (незаметно для пользователя), полученный таким образом онлайн рос (или падал) бы бесконечно.
Получается, что онлайн гуляет небольшими шажками (1-6 чел) относительно своего первоначального значения практически тупо по РАНДОМУ, а не берется из базы l2on. То есть если на сервере реальная прибавка будет скажем 30 чел., в этот момент счетчик запросто может показать -2. Все понятно, снижение нагрузки на сервер и прочее,... но, Hint, для чего?? Лишь бы циферки менялись? Статичные цифры сейчас не модно, зато выводить полный бред, основанный на предугадывании (predict) рандомом, это круто?!
Спасибо. все понятно
сумарный онлайн "кажет" о сумме всех серверов включая умершие и которые исчисляются 150 челами онлайна.
на крайняк ПА снимает это ограничение, если не ошибаюсь, и можно раскошелится на 27рэ на 1 день ПА ради такого дела.
Зато можно написать в ответное ПМ персонажу со сниффером, или в клан/пати чат, где есть такой перс :)
Дело в том, что перс до 41 лвл не имеет права писать в чат. Качать выше 40 смысла нет — телепорт платный будет
Было бы отлично! Сейчас изменение внешнего вида очень распространено, и актуально в игре.
Эта информация на данный момент не собирается сниффером, хотя добавить проблемы нет.
нафотошопил примерно:
Вот на реформале даже было http://l2on.reformal.ru/proj/?ia=539582