Дело не только в тарифике. Т е условно, пакет может состоять из 8 байтов. Но в логе будет условно 10 + 8. 10 - на метку времени, адресата, итд ну а 8 - сам пакет.А сколько? Помнится на заре ла2 на мелке, и даже на еврооффе играли по тарифному инету. И вместе с серфингом в месяц хватало часто 1 гига. Есть инфа, сколько трафика при каком реальном онлайне без трейдеров жрет сервер в месяц?
С телефона ща неудобно, позже раскрою идею. Новичкам везет потому, что они не знают, что чтото считается невозможным или сложным. Я часто слышу это, а потом делаю)
Можешь подскащать средний месячный трафик сервера рыл на 1000 реальных без трейдеров? И может средний обьем трафика на одного?
Можете поподробнее на пальцах обьяснить, для чайника)
Мне кажется он хочет моделировать прогрессию игрового мира с заданными параметрами. Типа как механика "ускорения времени" в некоторых оффлайн играх. Чтобы можно было менять разные параметры, "ускорять" мир и смотреть что из этого вышло как в кино.Дело не только в тарифике. Т е условно, пакет может состоять из 8 байтов. Но в логе будет условно 10 + 8. 10 - на метку времени, адресата, итд ну а 8 - сам пакет.
Если нужно чисто для понимания, сработала ли идея - лучше уж иметь прямой контакт с профессиональными игроками на проекте, которые смогут дать фидбек, и собирать различные метрики (по типу кд до обновы у класса - после, итд)
Спасибо, кэп. Так не интересно.Обложи логами интересующие тебя балансовые моменты и радуйся жизни, не травмируя психику читателей)
Делать что-то сложнее - не стоит свеч
Причем тут трафик? Я тебе сейчас не про трафик говорю.Можешь подскащать средний месячный трафик сервера рыл на 1000 реальных без трейдеров? И может средний обьем трафика на одного?
Я короче написал тебе оооочень большой пост, но стер его, т.к понимаю, что наверное это бессмыслено. Ты просто сейчас условно у группы конструкторов ракет, спрашиваешь, а можно ли построить ракету, ну скажем из тараканов? Тебе говорят, что в принципе, в теории, ее можно построить, но получится хуета, но ни один здравомыслящий человек не станет строить ракету из тараканов, даже если у него ПРЯМ 3.14здец НЕТ ТОРМОЗОВ в башке и он готов вписываться в вообще произвольную ебату. Так и тут. В теории можно, на практике никто на это не подпишется.Новичкам везет потому, что они не знают, что чтото считается невозможным или сложным. Я часто слышу это, а потом делаю)
Я бы не советовал сохранять пакеты. Так как каждый пакет будет иметь (X,Y и может даже Z) координаты, откуда его пересылали. Простo так все записать можно, но и проигрывать запись будет можно только с конца до начала (нельзя например проигрывать в обратную сторонy, или же просто поставить паузу в движении). Хотя я согласен, что вместо постройки системы можно простo узнать что нужно от такой грандиозной идеи. Можно паример просто научиться пользоваться дебаггеромДело не только в тарифике. Т е условно, пакет может состоять из 8 байтов. Но в логе будет условно 10 + 8. 10 - на метку времени, адресата, итд ну а 8 - сам пакет.
Если нужно чисто для понимания, сработала ли идея - лучше уж иметь прямой контакт с профессиональными игроками на проекте, которые смогут дать фидбек, и собирать различные метрики (по типу кд до обновы у класса - после, итд)
Самый идеальный вариант, правда абсолютно не реализуемый в обозримом будущем - это снапшоты всего процесса сервера при любом изменении в нем, т.е. по сути чуть ли не каждый тик процессора, и затем возможность с любой нужной скоростью воспроизводить эти снапшоты
Причем тут трафик? Я тебе сейчас не про трафик говорю.
Я короче написал тебе оооочень большой пост, но стер его, т.к понимаю, что наверное это бессмыслено. Ты просто сейчас условно у группы конструкторов ракет, спрашиваешь, а можно ли построить ракету, ну скажем из тараканов? Тебе говорят, что в принципе, в теории, ее можно построить, но получится хуета, но ни один здравомыслящий человек не станет строить ракету из тараканов, даже если у него ПРЯМ 3.14здец НЕТ ТОРМОЗОВ в башке и он готов вписываться в вообще произвольную ебату. Так и тут. В теории можно, на практике никто на это не подпишется.
Я бы не советовал сохранять пакеты. Так как каждый пакет будет иметь (X,Y и может даже Z) координаты, откуда его пересылали. Простo так все записать можно, но и проигрывать запись будет можно только с конца до начала (нельзя например проигрывать в обратную сторонy, или же просто поставить паузу в движении). Хотя я согласен, что вместо постройки системы можно простo узнать что нужно от такой грандиозной идеи. Можно паример просто научиться пользоваться дебаггером
Была идея сохранять пакеты от сервера к клиенту, ну что-бы типа не генерить их а просто проигрывать, пересылать клиенту. Нe моя идея, но кто как думает так и делает. Те же самые идеи про снапшоты, и гигабайты данных... Никто так не делает. Как вы думаете, как облачные технологии построенны, там логов выше крыши, не только тех которые можно видеть. Так вот, как такие сервисы как Splunk, Datadog или же что-то по проще работают? Просто отсылают кучу логов и засовывают их в специальные базы данных... Так что не только можно это все построить, технологии уже есть и железо очень быстрое стало. Ну это так, к слову о том что уже можно делать, а про что только мечтают.Про какие пакеты идет речь? От клиента серверу, или от сервера с обработанным положением чара и разрешенным действием? Может от обратного восстановить траекторию? Нам по сути нужны вродемвекторы и временные реперные точки, а не скрин сервера каждую секунду или тик сервера. Я просто пока не пойму причины, почему реплей можно сделать, а это - нет. По сути же клиент в реплее частично эмулирует действия сервера. Надо просто в логике ядра сервера задать отдельные сиквенции для воспроизведения реплея, и для спектатора
Да я не в том плане, что типа ты тупой и не поймешь, а в том, что я написал страницу текста и понял, что там еще две таких надо писать, чтобы закончить мысль. Короче если прям 3.14здец кратко - единственный способ это сделать в том виде в котором ты хочешь, это примерно то, что писал @Gaikotsu, т.е буквально снапшоты сервера и ВСЕХ клиентов в реальном времени. В этом случае ты сможешь воспроизвести работу сервера БЛИЗКО к оригиналу, но все равно не полностью, т.к в сервере 80% активностей происходят по рандому, то тебе еще и генератор надо сохранять на каждое значение. Короче я не знаю как это можно в целом простым языком объяснить, когда контраргументы вот такие:Зачем стер большой пост? Если человек действительно разбирается, он всегда может обьяснить человеку, даже новичку, простым языком))) и сам себя не жалеешь, стер свою работу(((
часто я делал то, что мне говорили невозможно спецы с десятилетиями опыта. Просто не стандартным путем.
Была идея сохранять пакеты от сервера к клиенту, ну что-бы типа не генерить их а просто проигрывать, пересылать клиенту. Нe моя идея, но кто как думает так и делает. Те же самые идеи про снапшоты, и гигабайты данных... Никто так не делает. Как вы думаете, как облачные технологии построенны, там логов выше крыши, не только тех которые можно видеть. Так вот, как такие сервисы как Splunk, Datadog или же что-то по проще работают? Просто отсылают кучу логов и засовывают их в специальные базы данных... Так что не только можно это все построить, технологии уже есть и железо очень быстрое стало. Ну это так, к слову о том что уже можно делать, а про что только мечтают.
Насчет проигрывания ивентов. Тут нужна система которая будет представлять из себя пошаговое воспроизведение пакетов из лога. Например монстр умер, а что до этого произошло? Были пакеты о NpcInfo , обновления по HP или дебаффов, ну и в конце пакет Die. Разберем более подробно:
- пакет NpcInfo выдается когда моб или npc входит в обзор игрового персонажа, на Яве это обычно проишодит в KnownList ( у Acis немного подругому, но смысл тот-же), нужен ивент что-бы сохранить данные моба. Что сохраняем? позицию, HP, номерок шаблона по данным о npc, ну и можно какие у него там бафы. Очень не много информации. Не надо весь пакет сохранять так как он будет намного больше (раз в десять)
- обновление по HP. Простой ивент про object id от моба, ну и новое значени по HP. Можно данные записать как и в NpcInfo описанные выше
- дебаффы. Типа пакета AbnormalStatusUpdate
- моб умерает, как пакет Die. Легче чем серверный пакет, координаты где умер, object id ну и можно добавить информацию можно спойлить или нет
Да, нужно собирать все ивенты от пакетов. Но сами пакеты от сервера будут передавать очень много информации, так как клиент может об все значенияx не знать. Так как у нас будет сервер, пакеты мы можеm сами генерить, но нам нужно сократить поток информации который мы будем либо сохранять в БД, либо проигрывать обратно из БД. По сути все что я описал (ивенты и как с ними работать) это и есть основа RPC . Просто надо немного привыкнуть к идее что не все данные нам нужны и что технологии уже есть и были, даже десять лет назад.
Да я не в том плане, что типа ты тупой и не поймешь, а в том, что я написал страницу текста и понял, что там еще две таких надо писать, чтобы закончить мысль. Короче если прям 3.14здец кратко - единственный способ это сделать в том виде в котором ты хочешь, это примерно то, что писал @Gaikotsu, т.е буквально снапшоты сервера и ВСЕХ клиентов в реальном времени. В этом случае ты сможешь воспроизвести работу сервера БЛИЗКО к оригиналу, но все равно не полностью, т.к в сервере 80% активностей происходят по рандому, то тебе еще и генератор надо сохранять на каждое значение. Короче я не знаю как это можно в целом простым языком объяснить, когда контраргументы вот такие:
Главный вопрос - чтобы что?
по поводу реализации хранения, есть облачные базы данных (amazon, ovh и тп), можно их разместить в одной подсети для более быстрого отклика, чтобы логгер чередовал сервера куда будет сохранять при записи и при этом запоминал этот порядок чтобы потом так-же воспроизвести. Можно даже выебнутся и когда заканчивается место - разворачивается еще один банк данных, подключается в общий порядок и так до бесконечности. Короче место это не проблема. Это конечно всё прикольно, но это уже из серии супер ненужных неокупаемых хотелок, которая нужна просто чтобы глаз радовала, имхо. Грамотная реализация такой фичи обойдется в кругленькую сумму. Представь себе поход на АК, 10 паков по 50-100 рыл. Все ТПшатся, бафаются, хуярятся, ресаются, тпшаются и так на протяжении нескольких часов, кого то выкинуло, кто то еще что-то, параллельно в DE Village кто то создал персонажа, короче оцените просто масштаб того что вам придется сохранять, это просто 3.14здец, но идея конечно прикольная.
если нет удобного интерфейса / прогера который тебе его напишет - наверно да, вообще обычно админ видит инцидент - приходит к своим технарям, дает им хорошеньких пиздюлей и смотрит за тем как инцидент решается) но если вы в соло админите серв, наверно да, каждый дюп это анальная больСейчас разборка логов насколько мне известно - анальная боль админов
Админ, который хотя бы на четверть не вникает в проблему, и не проверяет, что произошло, почему, и как кодеры решили проблему - это не админ, а сам по себе- анальная боль. или Маззь)если нет удобного интерфейса / прогера который тебе его напишет - наверно да, вообще обычно админ видит инцидент - приходит к своим технарям, дает им хорошеньких пиздюлей и смотрит за тем как инцидент решается) но если вы в соло админите серв, наверно да, каждый дюп это анальная боль
Это уже больше задача тимлида в чьей зоне ответственности произошел инцидент, админу похуй как и что там произошло) главное чтобы решилось и не повторилосьАдмин, который хотя бы на четверть не вникает в проблему, и не проверяет, что произошло, почему, и как кодеры решили проблему - это не админ, а сам по себе- анальная боль. или Маззь)
Это уже больше задача тимлида в чьей зоне ответственности произошел инцидент, админу похуй как и что там произошло) главное чтобы решилось и не повторилось
Я в целом про процесс разработки, а если мы говорим про домашние проекты под столом, то эта фича в принципе не родится на таком сервере без грамотной команды и нормального подхода к её решениюБратюнь, ты точно про пиратки ЛА2?)) может там и ПМ, девопс есть, да? и всех по несколько) пару исключений не учитываем)
Если я правильно понял тебя, ты хочешь сделать что-то вроде расширенной записи и просмотра реплеев.
Я могу тебе несколько десятков проблем выписать, которые тебе придется решить. Главная сложность, не сохранить пакеты, а воспроизвести. Во-первых штатный клиент не имеет функционала под твои хотелки и писать это очень дорого, по ряду причин. Во-вторых, даже если ты идеально запишешь все пакеты которые корректно гипотетически может получить плеер, это не решит проблему, т.к БОЛЬШАЯ ЧАСТЬ входящих пакетов формируются ПЕРСОНАЛЬНО для КОНКРЕТНОГО получателя, учитывая кучу факторов, вроде релейшенов. Т.е ты не сможешь без костылей воспроизвести в клиенте, не предназначенные для него пакеты. В принципе на этом уже можно останавливаться, т.к это УЖЕ не решаемые задачи, в контексте адекватности. Если допустить, что ты все же нашел у себя 20-30к зелени на заказ кастомного клиента, который будет это все воспроизводить, то тебе предстоит еще овердохуя сопутствующих проблем, например с фильтрацией отправки пакетов по области видимости региона, в котором находится камера и еще много всего веселого. Поэтому я с темы офаюсь, т.к дальнейшее обсуждение уже не будет каким-то образом отличаться от флейма и будет лишь поводом набивать посты для участников. Все проблемы которые ты хочешь решить с помощью этого механизма - решаются с помощью обычных логов уже 20 лет существования ладвы и не требуют изобретения велосипеда.
Я в целом про процесс разработки, а если мы говорим про домашние проекты под столом, то эта фича в принципе не родится на таком сервере без грамотной команды и нормального подхода к её решению
Это называется, когда гуманитарий залетел в техническую тему и не понимает как должно быть на самом деле. По факту он наркоман глупый, пытается изобрести то, что до него изобрели 100500Обложи логами интересующие тебя балансовые моменты и радуйся жизни, не травмируя психику читателей)
Делать что-то сложнее - не стоит свеч
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?