Крези идея, или как улучшить жизнь людям - Форум
W4Tweaks
Меню сайта
Последние файлы
Последние темы


Вход



Мини-чат

Статистика
Онлайн:

Сегодня заходили: firsacho, 4erveR


Друзья сайта

Если вы хотите увидеть в этом спиcке свой сайт загляните сюда

Наш баннер:



· Регистрация · Вход
[ Новые сообщения · Участники · Подписки · Поиск · RSS ]
Страница 1 из 212»
Форум » Общие навыки » Программирование (Уроки, Вопросы, Идеи) » Крези идея, или как улучшить жизнь людям (Буа)
Крези идея, или как улучшить жизнь людям
Lex-Serest
Дата: СР, 19.01.2011, 20:25:06 | Сообщение # 1
Lex-Serest
Onecake-man
Группа: Админы
Сообщений: 828
Репутация: 83
Инвентарь: 14
Статус: Offline
Суть идеи

Суть заключается в том, что с помощью программы игрок подключается к серверу созданным игроком (мультиплеер) и качает с сервера все его установленные моды (проверку осуществляем с помощью проверки хеш-сумм всех файлов)

Реализация

Предлагайте свои варианты реализации)

Программа будет писаться постепенно

З.Ы. выражаю плохо свои мысли, уж извините =)


:3
 
firsacho
Дата: СР, 19.01.2011, 20:32:47 | Сообщение # 2
firsacho
ICQ = 453-163-541
Группа: Админы
Сообщений: 3677
Репутация: 74
Инвентарь: 15
Статус: Offline
Quote (Lex-Serest)
с помощью проверки хэш-сумм всех файлов

это что такое и как работает?

Предлагаю еще добавить в программу наборы избранных модов, которые качаются не с игрока а с самого сервера. Их также можно закачать себе не подключаясь к чужой игре а просто через встроенное меню.. и еще можно добавить систему автоматического обновления избранных модов до последней версии.





Смысл жизни в том, чтобы жизнь имела смысл... (firsacho 2005)
Рай придуман, чтобы не страшно было умирать. Ад придуман, чтобы не страшно было жить. (firsacho 2007)
Мир делиться на два типа людей: Бездарные трудоголики и Талантливые лентяи. (firsacho 2008)

www.w-mod.info - мод Worms Renewation для Worms4
 
Lex-Serest
Дата: СР, 19.01.2011, 20:38:31 | Сообщение # 3
Lex-Serest
Onecake-man
Группа: Админы
Сообщений: 828
Репутация: 83
Инвентарь: 14
Статус: Offline
firsacho,
http://ru.wikipedia.org/wiki/Хеширование
http://ru.wikipedia.org/wiki/MD5

Составляется хеш всех файлов,хеширование произвидится например с помощью md5

Этот метод используется для простоты сравнения файлов


:3
 
Rorschach
Дата: СР, 19.01.2011, 21:13:20 | Сообщение # 4
Легендарный червь
Группа: Проверенные
Сообщений: 2848
Репутация: 60
Инвентарь: 6
Статус: Offline
охохо, это было бы реально круто, но возникнет проблема: что если моды стоят не у создателя серва?



-------------------------------------------------------------
And when the sun is shining, there is justice for all...
And all the people will remember that funny "war".
War, which was so dark in the beginning and so shiny in the end.
But now it's over. Over for all.
-------------------------------------------------------------
Я сюда захожу только из-за Game Project. И да, я больше не модер, поэтому не надо писать мне тонны лс с просьбами кого-либо забанить. И еще: черви меня не интересуют. Совсем. Поэтому, даже не напоминайте мне про них - вызовете большой БУГУРТ.
 
firsacho
Дата: СР, 19.01.2011, 21:30:35 | Сообщение # 5
firsacho
ICQ = 453-163-541
Группа: Админы
Сообщений: 3677
Репутация: 74
Инвентарь: 15
Статус: Offline
Quote (rocketvadim)
охохо, это было бы реально круто, но возникнет проблема: что если моды стоят не у создателя серва?

прога является менеджером модов - отключает и подключает те которые нужны для игры на сервере. Но надо чтоб моды устанавливались через прогу. Видимо так.





Смысл жизни в том, чтобы жизнь имела смысл... (firsacho 2005)
Рай придуман, чтобы не страшно было умирать. Ад придуман, чтобы не страшно было жить. (firsacho 2007)
Мир делиться на два типа людей: Бездарные трудоголики и Талантливые лентяи. (firsacho 2008)

www.w-mod.info - мод Worms Renewation для Worms4
 
Lex-Serest
Дата: СР, 19.01.2011, 22:00:13 | Сообщение # 6
Lex-Serest
Onecake-man
Группа: Админы
Сообщений: 828
Репутация: 83
Инвентарь: 14
Статус: Offline
эту прогу я начну писать после того как напишу прогу для быстрой установки мода

формат с модом - простой зип архив в котором находится мод и конфигурационный файл с описанием самого мода, автора мода и так далее


:3
 
Герыч
Дата: СР, 19.01.2011, 22:58:05 | Сообщение # 7
Герыч
Админ
Группа: Админы
Сообщений: 1240
Репутация: 60
Инвентарь: 5
Статус: Offline
Зачем тебе нужен перехват захода на сервер? 2
Оптимально отдельный загрузчик перед стартом игры.

Юзверь запускает загрузчик, видит список модов, видит текущий выбранный мод.
При этом он может переключиться на другой мод.

При этом есть некий глобальный сервер, к примеру example.com, на нём находтся php скрипт, который возвращает xml-ку со списком модов и где их можно загрузить + краткое описание + md5 + возможно, список зеркал.
Ещё можно возвращать список подобных ему сайтов, где можно раздобыть такой вот список.

md5 логично использовать для каждого файла и папки, ибо большинство модов затрагивают пару-тройку файлов и нет смысла лопатить всю папку.

На чём собираешься писать? Если на C#, плюсах или java - могу немного помочь, если будет желание.
Сразу делай хранилище либо в SVN, либо в git, или не буду помогать ;)


________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
Lex-Serest
Дата: ЧТ, 20.01.2011, 08:29:15 | Сообщение # 8
Lex-Serest
Onecake-man
Группа: Админы
Сообщений: 828
Репутация: 83
Инвентарь: 14
Статус: Offline
уж извени, я ужасно выражаю свои мысли)
хотя твоя идея тоже красива)

Quote
md5 логично использовать для каждого
файла и папки

я так и хотел)

что бы кодить на си ++ надо его сначало выучить более нормально, а я его только начал изучать, ты мне можешь помогать с помощью длл библиотеки, которую можно очень просто подключить если конечно знать какие у нее есть функции и параметры к этим функциям


:3
 
DrHitman27
Дата: ЧТ, 20.01.2011, 11:01:50 | Сообщение # 9
DrHitman27
•Polarized•
Группа: Админы
Сообщений: 2109
Репутация: 52
Статус: Offline
а зачем что-то проверять? программа будет знать какой мод сейчас установлен и какие файлы она заменила, это быстрей, чем какой-то там md5 из файлов считывать.

 
Герыч
Дата: ЧТ, 20.01.2011, 12:41:09 | Сообщение # 10
Герыч
Админ
Группа: Админы
Сообщений: 1240
Репутация: 60
Инвентарь: 5
Статус: Offline
md5 не считывается из файла, а считается по файлу - это контрольная сумма. Это позволит контролировать, не изменён ли файл пользователем. Если у двух файлов совпадают md5, то с огромной вероятностью совпадает и их содержимое.

Мои идеи:

Для загрузчика модов важно будет иметь начальный список файлов (от начльной установки червей) с их md5.
При запуске мода все файлы не в этом моде должны вернуться в начальное состояние, для этого надо сравнить их md5 суммы с начальными. Затем все md5 файлов мода надо сравнить с установленными файлами и заменить, если надо.

В архиве должны лежать изменённые файлы в нужных папочках, а также отдельный текстовый файл с их списком и с md5 для каждого файла + информация для показа пользователю.

К тому же можно, чтобы мод имел список зависимостей (то есть список других модов, которые должны быть установлены). У этих модов не должно быть общих файлов.


________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
Lex-Serest
Дата: ЧТ, 20.01.2011, 19:57:09 | Сообщение # 11
Lex-Serest
Onecake-man
Группа: Админы
Сообщений: 828
Репутация: 83
Инвентарь: 14
Статус: Offline
Создавать только пакеты модов не очень будет хорошо)
Пример: на сервере пользователь поставил множество своих модов, которые некуда не выкладывал, но эти моды весьма интересны

Я хотел сделать так что бы программа сверяла все файлы со списком с мд5 полученные из стандартных файлов, если хотя бы один файл он его запаковывает в архив вместе с "конфигурационным" файлом и когда игрок подключается к его серверу он скачивает его мод и "устанавливает" его

Один минус придется каждый раз восстанавливать стандартный набор файлов


:3
 
Герыч
Дата: ЧТ, 20.01.2011, 22:18:37 | Сообщение # 12
Герыч
Админ
Группа: Админы
Сообщений: 1240
Репутация: 60
Инвентарь: 5
Статус: Offline
Ты хочешь, чтобы игроки автоматом обменивались файлами для совместной игры?

Типа такой сценарий:
игрок запускает ланчер, видит список игроков + возможно чат
дальше 3 варианта:
Запуск стандартной игры (стандартный набор файлов).
Запуск своего мода (то есть свой набор файлов).
Скачать мод какого-либо игрока из списка игроков.


________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
Некто
Дата: ЧТ, 20.01.2011, 22:20:11 | Сообщение # 13
Некто
Знаменитость
Группа: Проверенные
Сообщений: 1897
Репутация: 21
Статус: Offline
а возможно так: ник, список подов ?
 
Lex-Serest
Дата: ПТ, 21.01.2011, 08:35:44 | Сообщение # 14
Lex-Serest
Onecake-man
Группа: Админы
Сообщений: 828
Репутация: 83
Инвентарь: 14
Статус: Offline
Герыч, либо я плохо объясняю (что вполне возможно), либо тебе лень меня понять

пользователь только скачивает с сервера мод и ставит его


:3
 
AlexBond
Дата: ПТ, 21.01.2011, 09:26:29 | Сообщение # 15
AlexBond
Легендарный червь
Группа: Админы
Сообщений: 1029
Репутация: 106
Инвентарь: 8
Статус: Offline
Quote (Lex-Serest)
Тут нам придется расшифровывать принцип работы GameSpy.

GameSpy работает лишь с некоторыми не шифрованными данными остальные посылает пакетами.

Я когда делал робота по сбору статистики gamespy то считывал с сервера
Название игры, комнату, количество игроков, версию игры и IP адрес хостера.
http://worms3d-portal.com/portal.php?topic_id=1014

По поводу как это работает можно прочесть тут:
http://aluigi.altervista.org/papers.htm#gslist
http://en.wikipedia.org/wiki/Gslist

Но врятли для осуществления твоего плана нужна эта инфа.


 
firsacho
Дата: ПТ, 21.01.2011, 10:16:07 | Сообщение # 16
firsacho
ICQ = 453-163-541
Группа: Админы
Сообщений: 3677
Репутация: 74
Инвентарь: 15
Статус: Offline
Quote (AlexBond)
Название игры, комнату, количество игроков, версию игры и IP адрес хостера.

Вот это как раз то, что нужно. Мы можем определить хостера, а прога поможет определить какие у него стоят моды (если у него тоже будет запущена эта прога). Остается скачать эти моды с хостера или с сервера.





Смысл жизни в том, чтобы жизнь имела смысл... (firsacho 2005)
Рай придуман, чтобы не страшно было умирать. Ад придуман, чтобы не страшно было жить. (firsacho 2007)
Мир делиться на два типа людей: Бездарные трудоголики и Талантливые лентяи. (firsacho 2008)

www.w-mod.info - мод Worms Renewation для Worms4
 
Lex-Serest
Дата: СБ, 22.01.2011, 15:53:23 | Сообщение # 17
Lex-Serest
Onecake-man
Группа: Админы
Сообщений: 828
Репутация: 83
Инвентарь: 14
Статус: Offline
В общем, программа будет работать примерно так:

Самый лучший вариант мне кажется работа при помощи гамеспу (а не WinAPI)
Сама по себе программа вынесена в отдельное приложение со своим интерфейсом и со своим лаунчером, с
возможностью работы с протоколом гамеспу, программа может работать как сервер, так и как клиент

Сервер работает следующим образом:
При создание сервера, сканируется папка воромса - проверяется все файлы на модификацию (с помощью мд5), после чего создает архив, в который записывается, все модифицированные файлы и создается список со всеми измененными файлами.
Так же программа в ник (имя сервера после создании игры) вписывает специальный символ (например, символ табуляции, это делается для более простого поиска сервера в программе)
И еще программа отсылает на сервер в пхп скрипт - ip адрес и ник
И еще программа открывает порт на компьютере

Клиент работает следующим образом:
При создание сервера, сканируется папка воромса - проверяется все файлы на модификацию (с помощью мд5), после чего создает архив, в который записывается, все модифицированные файлы и создается список со всеми измененными файлами.
Потом в таблице предоставляются все сервера со списком модифицированных файлов
После выбора сервера посылается запрос пхп скрипту с именем сервера, пхп скрипт возвращает ай пи адрес
На этот ip адрес посылается запрос на скачку файла мода, и пока скачивается мод, ставится все стандартные файлы (для более быстрого процесса восстанавливаем файлы, которые находятся в списке, полученное при запуске программа)
После того как будет скачен архив, он «устанавливается» и запускается игра с параметром для подключения к серверу


:3
 
Lex-Serest
Дата: СР, 09.03.2011, 19:20:05 | Сообщение # 18
Lex-Serest
Onecake-man
Группа: Админы
Сообщений: 828
Репутация: 83
Инвентарь: 14
Статус: Offline
Установка модов будет работать примерно как в "http://w4tweaks.ru/forum/118-1400-1"

Вскоре напишу irc чат

Эта крэзи идея будет разрабатываться "постепенно" (я не алексбонд, терпения не так много)


:3
 
Lex-Serest
Дата: ПТ, 08.04.2011, 23:31:08 | Сообщение # 19
Lex-Serest
Onecake-man
Группа: Админы
Сообщений: 828
Репутация: 83
Инвентарь: 14
Статус: Offline
ыыы, что-то не могу что-то одно нормально закончить... терпения нет...

В общем, начал писать IRC чат (который используется в воромсе по протоколу GameSpy)

http://aluigi.altervista.org/papers.htm#peerchat
Щас переписываю сорцы с си на паскаль

меня си начинает бесить, особенно конструкциями вида
*s++ ^= crypt[t];

в паскале все более строго и привычнее...


:3
 
Охотник
Дата: ВС, 12.05.2013, 08:30:35 | Сообщение # 20
Охотник
Только что регнулся
Группа: Новички
Сообщений: 17
Репутация: 1
Статус: Offline
круто!
 
Форум » Общие навыки » Программирование (Уроки, Вопросы, Идеи) » Крези идея, или как улучшить жизнь людям (Буа)
Страница 1 из 212»
Поиск:

Copyright W4Tweaks™ 2008-2017 Хостинг от uCoz