Продам апдейтер клиента игры, вкратце (обновление клиента, проверка файлов, вывод новостей, авторизация), графический интерфейс(смена аватара"доп. программа", свой стиль курсора, ссылки на vk, fb, mmotop "можно сменить"), внешний вид можно сменить по шаблону заказчика(все вопросы в лс) [media]
Более точное описание, апдейтер ложиться при установке в папку C:\Program Files, (можно и другую, не важно), настройки программы в мои документы, путь к клиенту игры записывается в настройки программы(можно реализовать запуск нескольких клиентов), отдельно написал програмку для редактирования аватарки. [media]
Всем привет, переделал полностью апдейтер, изменений много, часть на видео [media]
, post: 176754, member: 12202"](не то чтобы сделать, но посмотреть смогу ли реализовать) Уж очень код похож на проект, который валяется в интернете, прям очень похож. Но суть в том, что он - не очень, советую не писать так чат. И сервер, разумеется, не стоит делать WPF, естественно, что лучше на консольке. Я и не писал что скрутил его с нуля(не вижу смысла "выдумывать заново колесо") взял код, перенёс на wpf, добавил функций, кое что поправил, изначально он выглядел вот так, а по поводу сервера, если я и надумаюсь сделать чат для своего лаунчера, то скорее всего буду его подгонять по php сервер [IMG]
Привет всем, новую тему решил не создавать, а выложить здесь, и так, надумался сделать чат для лаунчера(не то чтобы сделать, но посмотреть смогу ли реализовать), но для начала сделал отдельным приложением, будут вопросы, всегда рад ответить, выкладываю сам чат и сервер для его, всё просто и понятно https://goo.gl/hXsA4F [IMG] [IMG][IMG][IMG][IMG][IMG][IMG]
Добавил еще функций, регистрация, при входе подгрузка аватарок с сайта, ну и само собой исправление мелких багов [media]
Всем привет, продолжаю работу над лаунчером, решил прислушаться к LiptoN[Triton] и сделал авторизацию с подтверждением логина и пароля что говорить всё на видео, ко всему теперь помимо шифровки пароля, шифруется и сам xml с конфигурациями, возможность установить либо сменить звук нажатия кнопок, возможность установить либо сменить трейлер(обе функции не обязательны) Фрэнк Кастл по поводу привязки лаунчера к exe, не совсем хорошая идея, есть сервера которые переименовуют Эксы, лучше к какой нить библиотеке dll без которой игрушка не стартанёт и не сменишь имя [media]
У многих лаунчеров офф присутствуют трейлеры и я решил сделать, кстати на второй картинке справа внизу видно сделал проверку(находится ли лаунчер в папку или нет, если нет то появляется сообщение с просьбой переместить"если фиг его знает как, то есть ссылка на руководство") [IMG][IMG] [IMG][IMG] А не лучше сделать проверку при запуске? И просто не запускать его, если он находится не в соответ. директории.[ATTACH] Возможно и лучше, попробую реализовать это у себя (но ссылку на руководство всё равно сделаю). Я когда то был gm на игровом сервере и не по наслышке знаю что у людей возникают проблемы с установкой патчей
У многих лаунчеров офф присутствуют трейлеры и я решил сделать, кстати на второй картинке справа внизу видно сделал проверку(находится ли лаунчер в папку или нет, если нет то появляется сообщение с просьбой переместить"если фиг его знает как, то есть ссылка на руководство") [IMG][IMG] [IMG][IMG]
И еще дополнил, при наводке мышкой на иконку появляется сообщение, а при двойном клике переход по ссылке указанной в патч листе на сервере(ссылки можно подгонять под выводимые новости) [IMG][IMG]
Немного изменил выводимое сообщение, думаю так более актуально [IMG][IMG]
те исходники апдейтера что удалось найти для примера, кривые У патчера вполне простой алгоритм. Опишу то, что сам пытался несколько раз делать: 1. скачивание файла version 2. если версия больше, чем в клиенте, то: 2.1.1. скачивание списков обновлений от следующей версии до последней - Например текущая == 2, новая == 5 -> качает списки 3, 4, 5 и т.п. 2.1.2. выделение файлов для обновления* 2.1.3. в цикле скачивание файла по http протоколу 2.1.4. распаковка локального файла в оперативку и рассчёт md5-суммы файла 2.1.5. если md5 локального и скачанного не совпали, то добавить новый файл в архив - md5 скачанного файла хранится в самом списке обновления, чтобы не тратить время на подсчёт - но с другой стороны доп. рассчёт md5 скачанного файла однозначно информирует, скачан ли файл корректно иначе 2.2. иначе очистка памяти, включение кнопки "играть" С полной проверкой тот же самый алгоритм, за исключеним того, что локальная версия форсированно передаётся "1" Чуть более стабильный алгоритм патчера: 1. скачивание файла version 2. если версия больше, то: 2.1.1. скачивание списков обновлений 2.1.2. выделение файлов для обновления* 2.1.3. в цикле по списку подсчитываются контрольные суммы локальных файлов с занесением файлов в список на скачивание, если md5 не совпали 2.1.4. в цикле скачивание файлов из списка на скачивание (тут же проверка md5 скачанного файла) 2.1.5. в цикле добавление всех скачанных файлов в игровые архивы 2.2. иначе очистка памяти, включение кнопки "играть" Есть ещё вариант написания сервера распределения файлов и прямого подключения патчера к нему. При грамотной реализации этот способ будет в несколько раз быстрее скачивать файлы. *Алгоритм выделения списка файлов для скачивания /!\ Achtung! Применяется только в случае непоследовательного обновления, если есть несколько патчей сразу: - Обратный цикл по спискам, начиная с предпоследнего до первого включительно**: - - Прямой цикл от первого до последнего файла в списка: - - - Если файл из последнего списка отсутствует в текущем списке, то добавляем его в последний список обновления **Почему с предпоследнего? Потому что в последний список мы будем собирать полный список файлов из нескольких списков. Так же к этому патчеру нужно будет написать билдер, который соберёт информацию о файлах и запишет её в списки для обновления. Решил не морочиться с билдером и взял существующий, тут появилась проблема(при чтении одного атрибута, качает, но когда пытается скачать 2 и больше файла по атрибутам, вылазит ошибка "удаленный сервер возвратил ошибку (403) запрещено"), не имеет значения, чтение патч листа идёт с локалки или сервере, ошибка та же, что может быть?
Добавил новую функцию, после загрузки лаунчера, появляется сообщение в системном диалоговом окне с текстом который напишет админ сервера в соответствующем месте, файла апдейта, проверка идёт по версии новости на локалке и сервере(не будет выскакивать постоянно), полезно для важных обьявлений [IMG] Интересная идея. Добавлю себе такую) А обновление по какому алгоритму идёт? Если не секрет. Скачивание архива->удаление старых файлов->распаковка новых->обновление версии->готово? Да именно так, я в сфере си шарп не так давно, потому еще не вкурил потоковой загрузки и проверки хеш, в инете инфи на счёт этого очень мало, те исходники апдейтера что удалось найти для примера, кривые
, post: 176668, member: 12202"]Добавил новую функцию, после загрузки лаунчера, появляется сообщение в системном диалоговом окне с текстом который напишет админ сервера в соответствующем месте, файла апдейта, проверка идёт по версии новости на локалке и сервере(не будет выскакивать постоянно), полезно для важных обьявлений [IMG] По-моему, такое есть в Config.pck, там какой то файл отвечает за вывод новостей в выборе персонажей. Возможно, не знаю, но как я подметил в самом начале этот лаунчер предусмотрен не только для пв и jd, лично по мне так удобнее, но это лично моё мнение без колупания архивов игры
Добавил новую функцию, после загрузки лаунчера, появляется сообщение в системном диалоговом окне с текстом который напишет админ сервера в соответствующем месте, файла апдейта, проверка идёт по версии новости на локалке и сервере(не будет выскакивать постоянно), полезно для важных обьявлений [IMG]
Да ты не 1 такой:D [IMG] Что он умеет делать?(Твой лаунчер) Качать и устанавливать обновы, всё остальное в демке --- добавлено: 1 авг 2017 в 16:56 --- немного повозился с оформлением [IMG]
Без обид, но внешне шлак Кому шлак, кому нет, внешку сменить не проблема, как не крути, этот скин все равно не останется, разные сервера, разные дизайны(я покуда занят кодом, на дизайн времени нету)
, post: 176654, member: 12202"]Личку бы хоть открыл, раз хочешь вопросы в ВК принимать...|-( Сори, открою, я забыл что она закрыта
Выкладываю демку лаунчера-апдейтера https://goo.gl/dpCfjB. используется консольный тип входа в игру, соответственно подходит для игр (La2, Aion, PW, JD и т.д.). Все вопросы в вк https://goo.gl/AadFaA. Лаунчер написан с нуля на c# wpf [IMG]
, post: 176596, member: 12202"], post: 176594, member: 12202"]Зачем xml, когда есть более удобный json? После нажатия на "Update" пользователю не понятно, началось ли обновление или нет. Держать так сохраненный пароль лучше не стоит, его можно легко украсть. (Ох уж эти стиллеры для стима) Пароль шифруется и не храниться в чистом виде, а тот кто захочет украсть и так это сделает, защита (вк, ок.ру, маил.ру и т.п.)не проблема(в наше время не расшифруют только один пароль - который нигде не использовал) Я и не говорил, что он открытый, но base64 не особо для защиты подойдет, но тот, кто его украдет и расшифрует - сможет свободно зайти в личный кабинет на сервере и на сам сервер, и наделать много проблем для пользователя. Я прочитал около 40-ка твоих сообщений, ни одного нету с напутствием, ни одного сообщения которое натолкнуло бы меня на мысль "Этот чел шарит, может стоит к нему прислушаться", изредка вопросы, в основном хейт. Ко всему, какой сори за мой лексикон (дурак) будет сидеть и расшифровывать хеш ключ если он рандомно пишется автором. Я сейчас веду работу над апдейтером [media] Вместо того чтобы нести разную ахинею, лучше бы подсказал толковый гайд по сравнению хеша файлов и загрузке нужных, я в этой сфере не так давно, потому хватило знаний только на сравнение версий, загрузке обновы и её распаковку
Имена участников (разделяйте запятой).