Почитай TL;DR - старые прошивки ломаются эксплоитами (публичными или приватными), с новыми даже ФБР бессильно.
А ещё у них на сайте майнер [IMG]
Как минимум - это опыт. Опыт, который реально пригодится в дальнейшем. Думаю, что относится к этому проекту, как к ерунде - не корректно. Как сказали ранее, что этой чепухой люди набивают себе руки, а потом зарабатываю на опыте. Так-что слово чепуха тут не очень приемлемо Не спорю, это хороший опыт. Но как и написано в моём первом посте, опыт можно набивать параллельно с заработком. И любой программист, которого здесь попытаются завербовать, это будет осознавать. OpenSource разработчики практически всегда имеют за плечами огромный опыт, потому что на самом старте разработки никто не захочет иметь дел с их говнокодом, а при наличии хоть каких-то навыков они уже пытаются заработать, а не только получить опыт.
Но суть всего сообщения можно свести к нескольким постулатам: "Вы витаете в облаках и не представляете, что вас ждёт", "Вся эта задумка заведомо провальная, ибо никто не будет её делать/доводить до конца", "Объём работ такой, что вы все охренеете" Да, int3 много написал в плане: "Ничего не выйдет, это заведомый провал и потеря времени". Эта мысль имеет право на жизнь как и все остальные. Основная мысль, которую я хотел донести - люди, перестаньте тратить время на чепуху. Мне просто обидно, что хорошие мозги заняты глупостями. Но да, это абсолютно субъективное мнение и не претендует на истину.
Добавлю ложку дегтя в вашу бочку мёда. 1. OpenSource не мотивирует. У каждого специалиста в какой-то момент возникает осознание того, что его способности позволят ему зарабатывать. И очень малое кол-во специалистов предпочтёт бесплатную работу платной. Единственное исключение - это хобби, оно может приносить удовлетворение вместо прибыли. Однако большая часть тех же специалистов запросто найдёт высокооплачиваемую работу, которая совпадает с хобби. В нашей сфере практически нет профессиональных разработчиков, а как только они появляются - убегают грести бабло лопатой :) 2. Разработчик - не игрок. Посмотрите на крупные OpenSource проекты. Что у них общего? Они все активно используются разработчиками по прямому назначению. Большинство контрибьюторов в ядро линукса/ReactOS делают это в том числе для себя. А много ли разработчиков PW сами играют? Вы спросите: "А причем тут вообще это?". Всё просто - разработчик получает удовлетворение не от игры, а от разработки, поэтому после первого же релиза он застрелится от багрепортов вида "у меня кнопки нажимаются с иной задержкой по сравнению с оригинальным ПВ!!!", "у вас шрифт в чатике отличается от оригинального!11один". Раз уж мы рассматриваем разработчиков, которые занимаются этим в качестве хобби, то найдите мне тех, кто будет с удовольствием фиксить абсурдные хотелки игроков. Разработка ради создания клона != разработка во имя удовольствия. И поймёте вы это только после того, как интересные N% клиента будут реализованы, а (100-N)% останутся висеть в качестве Issues в вашем репозитории. 3. Клиент - сложная архитектурная поделка. Уважаемый ТС показал нам красивые видосики. Проделана большая работа, результат достойный, не поспоришь. Хотя, мне это напомнило одно старое видео (ссылку на которое я уже кидал в чатик). Всё кончилось тем, что автор отточил свои навыки на PW и нашёл хорошую высокооплачиваемую работу в реале :). Впрочем, я отвлёкся. Игровой клиент - это полное багов, но крайне сложное архитектурное решение, содержащее огромное количество как интересных паттернов проектирования, так и замечательных костылей, не поддающихся адекватному объяснению. Для воспроизведения этого с нуля потребуются самые разные навыки, но основной из них - реверс. Да о каком клиенте вы говорите, если почти за десятилетие существования в открытом доступе gs с отладочной информацией никто не удосужился функция за функцией, структура за структурой переписать это всё в нормальном виде? (Спойлер: конечно, удосужился, но точно не OpenSource) Как человек, который потратил безумное кол-во времени на реверс клиента, я могу только лишь посочувствовать тем, кто собрался создавать клон клиента, который будет корректно взаимодействовать с: delivery - к нему меньше всего вопросов, все структуры на виду, за конечное время вполне реализуется. gs - выше по теме собрались заменять elements.data на XML/легковесную БД? А ядро кто адаптировать будет? И когда вы-таки осознаете, что одним клиентом здесь не обойтись, вас ждёт увлекательное путешествие в мир скиллов, бонусов на шмоте, карт коллизий и прочего. elementskill.dll - ну здесь даже комментарии не требуются. Есть два стула: На одном 1к (1.3.6) или 3к (1.5.5) клиентских SkillStub'ов, которые надо переписать, чтобы выбросить в мусорку эту злосчастную dll На другом - прослойка для взаимодействия с этой dll из нового, чистого клиента. Но разве это не противоречит "чистоте и open-source'ности" ваших помыслов? 4. Вам нужны не разработчики, а гении-эникейщики. В продолжение предыдущего пункта. Клонирование клиента - это разработка, которая требует от работников очень нестандартного набора навыков. Мало быть супер-пупер разработчиком, большая часть работы будет состоять в реверсе исходного клиента и восстановления логики и различных форматов данных. Нельзя просто так взять и на основе визуального анализа поведения клиента восстановить его логику. Огромное количество времени было убито разработчиками IG/OOG ботов, но до сих пор внушительная часть игровой логики/трафика остаётся загадкой для них. А некоторые моменты никого просто не интересуют (пример: окно с эмоциями-действиями). Вы обсуждаете работу с графикой - но ведь это только часть визуальной составляющей! А где UI, где работа с сетью, где настоящая PWшная физика? 5. Дела организационные. Если бы разработка состояла только из написания кода.. Ох, вы витаете в облаках. Абсолютно солидарен с Napalm Rain - процесс разработки складывается из множества этапов, которые неосуществимы без хорошей согласованности внутри команды. А что такое команда рандомных людей с разными взглядами и принципами, собранная на просторах интернета, работающая за идею? Это трэш, угар и содомия ©. 6. А дальше-то что? Представим себе гипотетическую ситуацию: клиент успешно портирован на UE4, слава Линусу OpenSource, аминь. А что вы будете с ним делать? Почему, мистер Андерсон, почему? Во имя чего? Что вы делаете? Разработка ради разработки? Ради красивой графики? Оно того стоит? Придумайте хоть одну стоящую фичу, которая не требует модификации ядра. Ядро не переписывают по тем же причинам - даже при наличии полного исходника Вы практически ничего не сможете сделать, не затронув клиентскую часть. И наоборот. И небольшое дополнение от меня лично: я, как реверсер, абсолютно не заинтересован в клиенте с открытым исходном коде. Зачем он мне? Чтобы свести ценность навыков реверса в сфере PW к нулю, позволив всяким хеллоуворлдщикам переписывать клиент по своему желанию? P.S. Постараюсь привлечь к этой теме побольше знакомых :)
Советую ознакомиться
Было бы просто шикарно, если можно было бы использовать SQL запросы. А я говорил Алексу - интерпретатор SQL запросов здесь в сотни раз лучше конфига зайдёт.. Может одумается :(
На чем написан Perfect World? На делфи с паскаль Тогда странно, что он дотянул до ОБТ. Нет что вы)) я в личных целях о Go) так как развиваюсь сейчас в сторону этого языка) Нет ничего лучшего в осваивания тонкостей ЯП, чем реализация очередного велосипеда) Если бы написание подобных вещей сводилось к знанию языков, то мы сейчас купались бы в эмуляторах. Я не буду отговаривать от такой затеи, сам когда-то наступил на эти грабли - решил начать изучать C++ с написания эмулятора. К счастью, желание быстро угасло и я занялся более полезными вещами. Учитывая, что уже есть готовый клиент, к которому нужен сервер, а Go - именно такой язык, на котором стоит писать сервер) Спорное утверждение. На чем написан Perfect World?) думаю там есть некая смесь... почему бы не добавить еще и golang?.. C++ на 99%. Lua в некоторых не performance-critical местах. Вот и всё. Конфигурационные файлы не учитываю.
ТС, есть какие-то новости? Можно ли приобрести или как-то получить пробную весию? Новости есть, но не видел смысла до релиза их сюда постить. Античит приобрёл очень много фич за это время, были исправлены все известные серьезные баги. До сих пор от тестеров принимаются пожелания, которые я реализовываю по мере появления времени. К сожалению, сам релиз несколько затянулся из-за других моих проектов, разрабатываемых параллельно, но он обязательно будет :) Пробную версию получить можно - её и получают тестеры. Но как я и сказал, набора больше нет. Конечно, я посреди года успел набрать ещё парочку (ну очень хотели), но это были исключения. Тестеров я не набираю по одной причине - тестить нечего. Я уже выше написал, что всё пофикшено, поэтому остаётся только ждать, когда я допилю все "релизные фичи". Продажи тоже нет, не вижу смысла брать деньги за бету.
Мои вопросы: По какому принципу дописывается libtask? Пропатченный glinkd - хотелось бы увидеть результаты Мои 5 копеек: Будет обидно, когда сольют файлы 90% людей, пользующихся шарой, очень неблагодарные. Для кого стараться? :) Очень напоминает ситуацию с написанием эмуля Реквестирую создание репозитория на Github'е с описанием всего кода/изменений Если всё будет грамотно сделано, возможно, присоединюсь.
Так как неизвестно для чего это автору, была предложена и дополнительная информация работы античита китайского со стороны gs. ... Дружище (или подруга?), я не планировал тебя задеть своим комментарием, извини. Я успел пообщаться с ТС'ом в скайпе об ACReport и знаю о его намерениях - просто парсить пакеты для получения информации. Ты выложил достаточно полезной информации, но есть некоторые моменты: По xrefs'ам в ядре особо не побегаешь. Тот пакет, метод отправки которого ты скинул, служит только для оповещения о нарушении. Само же нарушение возникает при косяках с движением и некоторых других сомнительных действиях. Так что лучше все-таки исследовать сам gacd. Исследовать сериализацию в ядре нет смысла, ибо там есть сами структуры. Про конфиг и gacd всё верно, за исключением "1 хп из-за рейтов". При правильной (или наоборот, неправильной) настройке античита он умеет выдавать тот самый "особый" режим бана, при котором игрок помечается как читер и входит в режим "1 хп, 1 мп, 0 чи, запрет торга и т.д.". К слову, мой "великий" античит так тоже умеет, тестеры подтвердят. P.S. Сам я не ответил, ибо увидел тему уже после ответа Морзе, который кратко и ёмко всё описывал. P.P.S. Не знаю, чем вызван негативный тон по отношению ко мне и античиту :)
GS GMSV::ReportCheater2Gacd Совсем не в тему. Там просто сериализация ACReportCheater описана, который не имеет отношения к ACReport. Морзе уже отписал, где искать полные структуры.
struct Player;
Распознавать, является ли письмо спамом, можно с помощью машинного/глубокого обучения. Так что вопрос лишь в чтении почты. Вот бы научить пвадмин грузить пользовательские плагины..
Хорошая тема, полезная. Были уже попытки донести до людей полезные инструменты, но тут также важен порог входа. JS простой - и это хорошо. Немного критики: 1. Не увидел взаимодействия с isec/osec. Ставим прокси = забываем про шифрование? 2. Нужен сериализатор. Те же gs'ные пакеты имеют все один тип - 0x22, а внутри него уже настоящие "подтипы". Без знания о настоящих подтипах фильтровать/блочить будет бессмысленно. 3. Я бы посмотрел на бенчмарки (RPS)
привет
Уважаемые,возможно ли сделать оффлайн клиент ПВ,с играющими AI(ботами),которые будут взаимодействовать с вами и окружающим миром,будут ПвПшицца,ходить в дж и т.д и т.п. Самая сложная часть - реализация логики ботов. При желании остальное делается за большой, но конечный срок. А вот хороший ИИ пока не придумали: нужно не просто анализировать текущие цели и задачи, но и взаимодействовать с игроками. Это вам не Го даже. Но идея забавная
Так как тема в оффтопе, то ответ такой: "запилить можно всё, вопрос лишь в цене и разумности (рациональности)"
Сырая разработка. Подходит для сервера с нуля. У кого сервер давно и есть у людей недоточенный шмот, там к примеру +4, уже шмот не точнётся сразу с +4 до +12!!! Будте внимательны, учтите этот факт, кто будет ставить!!! Спасибо за критику. 1. В первом посте темы было уточнено, что работает на заточку с +0 до +1 2. Можно сбить до нуля при попытке заточить и затем с нуля до +12. Это имеет значение только если миражи на вес золота
Хочу попробовать сделать так же, только с dll'кой dll - это сложный механизм, который не просто "открывается" функцией LoadLibrary из WINAPI, а разбирается виндой по кусочкам и затем используется. Можно запаковать в архив, а перед этим использованием распаковывать. Правда смысла особого не вижу в этом.
Имена участников (разделяйте запятой).