|
|
|
Uoext. Расширяя Возможности Клиента, We do what EA can't. |
|
|
StaticZ |
15.1.2011, 16:42
|
Разработчик проекта "Квинтэссенция"
Сообщений: 2.155
Регистрация: 15.6.2009 Группа: Пользователи Наличность: 0 Из: РФ, Москва
Пользователь №: 11.948
|
Цитата(Warstone @ 15.1.2011, 15:23) Когда я это говорил?
"Волонтеров нету (внезапно)." Цитата(Warstone @ 15.1.2011, 15:23) Или версию читать из ехе (где она там зашита - хз)
Именно ее и читать, она нигде не зашита а спокойно сидит в таблице ресурсов... прочитать не проблема. винапи ето умеет ) Цитата(Warstone @ 15.1.2011, 15:23) Она подключает в АП ехе свою длл.
ммм хитро..... я то думал это просто ммм сервер
--------------------
RP сервер UO: Quintessence, а также ПО: EssenceUCS, EssenceUDK, CentrEd+, Fiddler+ и др.Game isn't a dream, it is the reality, reality which is coming while we dream...
|
|
|
|
Warstone |
15.1.2011, 17:49
|
Группа: Модераторы Наличность: 0
Пользователь №: 10.905
Возраст: 25
|
Цитата "Волонтеров нету (внезапно)." А до этого фразу 5 дней назад про необходимость волонтеров - не видел? Цитата Именно ее и читать, она нигде не зашита а спокойно сидит в таблице ресурсов... прочитать не проблема. винапи ето умеет Уже рассказали... Значит, возможно, я рано бью тревогу. Цитата ммм хитро..... я то думал это просто ммм сервер Ну в АП ехе создается в отдельном потоке прокси-сервер. Клиент насильственно подключается к этому прокси (да, а клиент и сервер сидят в одном процессе. Вот такая-вот загогулина). Надо это для того, чтобы можно было перехватывать обращение клиента к WinAPI. Там будут единственные проблемы с синхронизацией, но они решаемы. Зато не надо будет городить межпроцессное взаимодействие.
--------------------
Do. Or do not. There is no Try! © Master Joda, Dagobah, Star Wars: Episode V.
|
|
|
|
StaticZ |
2.2.2011, 11:13
|
Разработчик проекта "Квинтэссенция"
Сообщений: 2.155
Регистрация: 15.6.2009 Группа: Пользователи Наличность: 0 Из: РФ, Москва
Пользователь №: 11.948
|
Цитата(wap @ 1.2.2011, 20:56) Что такое Blowfish и Twofish я лично не в курсе, можешь сам узнать, если хочешь.
Алгоритмы шифрования: http://ru.wikipedia.org/wiki/Blowfishhttp://ru.wikipedia.org/wiki/Twofish
--------------------
RP сервер UO: Quintessence, а также ПО: EssenceUCS, EssenceUDK, CentrEd+, Fiddler+ и др.Game isn't a dream, it is the reality, reality which is coming while we dream...
|
|
|
|
Warstone |
12.2.2011, 18:10
|
Группа: Модераторы Наличность: 0
Пользователь №: 10.905
Возраст: 25
|
Да, 10-я ревизия обновила транк (реинтеграция шифрования).
Поправим прежние планы:
1) Переделать инициализацию на вызов не по "одной процедуре", а все сразу скопом.
2) Дать возможность указывать протокол в плагине (поддержка любого протокола любой версии, если вы напишите "протокольный плагин") Можно указывать протокол, который не следует стандарту "Если длинна пакета не известна, то она пишется во 2-м и 3-м байте пакета"
3) Криптование со стороны клиента и сервера (Шифрованный клиент к нешифрованному серверу и наоборот). 4) Распаковка/Запаковка zlib'ом пакета с Гампами (и других пакетов, если такие будут) 5) Доработка утилитарных классов. В частности для чтения/записи пакетов.
6) Механизм отслеживания "оригинальных" и "измененных" Серийников для того, чтобы можно было удобно и безопасно спавнить айтемы и мобайлы в мире через прокси, а не через сервер Частично сделан. Всего будет 3 механизма: 1) Статический (Администратор сервера выделяет большой пул серийников, пул задается в конфиге перехватчика) 2) Серверный (Сервер, по запросу, предоставляет маленькие пулы серийников, пулы получаются через расширение протокола) 3) Проксируемый (Перехватчик выдает незанятые серийники, если сервер их занимает, начинается трансляция серийников из серверный в клиентские и обратно) Пока сделан механизм 1. 7) Получение плагинов с сервера и инкапсуляция своего протокола внутрь УО'шного для управления системой с сервера. (Собственно это была основная цель данного проекта. Дать возможность держателям серверов "дописывать" поведение клиента в зависимости от своих пожеланий) 8) Механизм временных событий (стандартные средства тут не работают).
9) Механизм синхронизации с другими потоками клиента (необходимо для реализации перехвата API в плагинах) Синхронизация сделана через 2-х ступенчатую систему изменения Interlocked переменных.
999) Оптимизация протокола УО для большей эффективности передачи данных и снижению нагрузки на канал.
Ну и вытащим следующие маилстоуны:
1) Распаковка/Запаковка zlib'ом пакета с Гампами (и других пакетов, если такие будут) Сама поддержка zlib уже есть, надо только продумать - что делать с гампами 2) Доработка утилитарных классов. В частности для чтения/записи пакетов. 3) Получение плагинов с сервера и инкапсуляция своего протокола внутрь УО'шного для управления системой с сервера. (Собственно это была основная цель данного проекта. Дать возможность держателям серверов "дописывать" поведение клиента в зависимости от своих пожеланий) 4) Механизм временных событий (стандартные средства тут не работают). 999) Оптимизация протокола УО для большей эффективности передачи данных и снижению нагрузки на канал.
Да, пожелания, предложения, плюшки?
Сейчас есть возможность попросить то, что хотелось-бы видеть вам... Что-бы я на более или менее реальных задачах обкатал систему плагинов. Сразу скажу, это должна быть не автомотизация клиента, так как макро языков и так до одного места, а именно что-то что облегчит вам жизнь как программистам серверной части шарда.
--------------------
Do. Or do not. There is no Try! © Master Joda, Dagobah, Star Wars: Episode V.
|
|
|
|
StaticZ |
29.3.2011, 17:52
|
Разработчик проекта "Квинтэссенция"
Сообщений: 2.155
Регистрация: 15.6.2009 Группа: Пользователи Наличность: 0 Из: РФ, Москва
Пользователь №: 11.948
|
Цитата(Warstone @ 29.3.2011, 17:15) Столкнулся с интересной проблемой. Если в основном dll (ProtocolExtender.dll) перехватываю MapViewOfFile - все нормально. Если-же это выношу в плагин - клиент падает на этапе выбора Чара. Причем, судя по характеру падения - падает не основной поток, а какой-то вспомогательный... Бред какой-то. Причем я точно знаю, что до этого он раз 20 этот MapViewOfFile вызвал и перехватчик отработал.
Может чето перенамудрил и падение происходит из-за конфликтов доступа? Самая частая и достаточно противная ошибка при таких родах действий )
--------------------
RP сервер UO: Quintessence, а также ПО: EssenceUCS, EssenceUDK, CentrEd+, Fiddler+ и др.Game isn't a dream, it is the reality, reality which is coming while we dream...
|
|
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|