Здравствуйте, гость ( Вход | Регистрация )

19 страниц V  1 2 3 > »   
Ответить в эту темуОткрыть новую тему
> Uoext. Расширяя Возможности Клиента, We do what EA can't.
Warstone
сообщение 1.11.2010, 12:09
Сообщение #1


*********

Группа: Модераторы
Наличность: 0
Пользователь №: 10.905
Возраст: 25



UOExt - Ultima Online protocol Extender

Текущая версия: 0.1.0-RC1

Данная программа позволяет вам добавить еще один уровень абстракции в связке клиент - сервер для более эффективного управления как ресурсами так и самим клиентом.

Данная программа выполнена в виде dll, которая подключается к клиенту во время запуска (клиента). Она запускает в адресном пространстве клиента еще один "прокси-сервер" и перенаправляет весь протокол через себя. В отличие от других программ того-же класса, которые перехватывают recv/send, прокси сервер работает в отдельном потоке, что положительно сказывается на плавности картинки клиента, однако налагает дополнительные требования к программисту. В частности: Если прокси-сервер, по приходу какого-то пакета должен сделать серьезную обработку этого пакета, то клиент все-еще может сделать несколько шагов, до того, как переполнится локальный буфер действий клиента и он встанет (эффект потери соединения с сервером). Для игрока - это не большое время, но для программы - это миллиарды тактов.
Побочный эффект данного подхода состоит в том, что вам больше не надо следить за тем, является-ли ваш клиент шифрованным, так как программа автоматически расшифрует протокол, если сервер не принимает зашифрованный протокол.

Так как данная программа выполняется в адресном пространстве клиента, ей так-же доступны любые данные клиента. Более того, перехват API распространяется и на клиент. Поэтому вы имеете все данные клиента и можете производить относительно долгие вычисления без "фризов" клиента.

Сам исходный код данной программы доступен по адресу: http://code.google.com/p/uo-ext/ и имеет лицензию GPL. Однако плагины, написанные вами, являются самостоятельным продуктом (так-же dll) и, насколько я понимаю, могут не попадать под лицензию GPL. Если это не так, и тут есть кто-нибудь, кто разбирается в лицензиях - свяжитесь со мной, пожалуйста, для консультаций по лицензиям.

Исходный код программы написан на Object Pascal, однако плагины могут быть написаны на любом языке (соглашение о вызовах stdcall или, в терминах Си это должно быть, WINAPI соглашение).

История версий (с r53)
r60
- UOExt.GUI: Убрано мерцание при частом обновлении картинки.
- UOExt.GUI: Добавлен проект-тест для UOExt.gui.dll
r57
- Добавлен проект UOExt.GUI. Это шкурка "по умолчанию". Нет поддержки UOExt. Сама картинка сделана командой сервера "Квинтэссенция". Все скопировано правильно!

r56
- UOExt выгружается на старте клиента, если она не поддерживается сервером.

r55
- Убран проект UOLoader из репозитория. Фактически, он не использовался в работе с тех пор, как заработало заражение ехе
- Добавлена проверка на поддержку сервером UOExt в купе с передачей настроек. Аналог Razor'овского Negotiate features with server.
- Поправлен баг с падением клиента при разрыве соединения во время игры.
- В репозиторий добавился код для RunUO для поддержки UOExt

r53
Первый релиз, относительно которого будет вестись история.


Мини FAQ по работе с UOExt

Начальная установка
UOExt поставляется в 2-х основных форматах: debug и release. Отличие их в том, что debug "выкидывает" консоль и пишет туда отладочные сообщения. release, же работает без дополнительного окна.
На данный момент предпочтительный метод работы с UOExt состоит в заражении выполняемого файла клиента игры UO вызовом UOExt при запуске.
Процесс заражения происходит так: Скопировать UOExt.dll в папку с клиентом, открыть командную строку (Пуск - Выполнить cmd.exe), перейти в папку с клиентом и выполнить следующую команду:
Код
%windir%\system32\rundll32.exe UOExt.dll,Infect32 client.exe

Где client.exe - название выполняемого файла клиента УО. Так-же рекомендуется сохранить резервную копию, так как UOExt пропишет себя в текущем exe и будет запускаться каждый раз при старте модифицированного клиента.
После этой операции вы можете работать с клиентом, как раньше. Просто он будет загружать UOExt.

Поддерживаемые программы
На данный момент UOExt умеет работать с клиентом с которого снято или не снято шифрование (авто определение факта снятия шифрования).
Так-же UOExt запускается с Razor.
Тесты совместимости с другими сопутствующими программами не проводились.

Механизм проверки сервера на работу с UOExt
UOExt проверяет сервер на поддержку UOExt путем отсылки серверу пакета 0xEF с пустыми значениями. Если в ответ в течении 5 секунд не прилетит пакет 0x00, то считается что сервер не поддерживает UOExt. Содержание пакета можно почитать в комментариях в коде.

Механизм расширения функционала путем написания плагинов
Будет позже.


Roadmap

r53 (29.04.2012) - UOExt: Решение косяков с шифрованием.
- UOExt: Очередь загрузки плагинов
- UOExt: Взаимодействие между плагинами
r53 (29.04.2012) - UOExt: PE_PROXYEND - добавить в параметры наличие коннекта до клиента и сервера, а так-же причину завершение прокси.
- UOExt (фича): Поддержка старого шифрования (Которое основано на Pi... Это 2-е клиенты что-ли)
Устарело - UOExt (фича): Если UOExt словило какой-то неизвестный пакет, то его надо записать в отдельный файл на диске.
- UOExt (фича): Автоматическое чтение протокола зи запущенного ехе (только для 2д версий).
- UOExt (фича): Если пришел неизвестный пакет с сервера (с клиента он придти не может ибо выше), то просто не пропускать его дальше. Заодно и сдампить.
- UOExt (фича): В дебаг режиме пользуясь VEH уметь ловить ошибки и откатываться до вызова плагина. (с возможным продолжением работы, хотя этого скорее всего не будет)
r54 (01.05.2012) - UOExt (фича): Ловить первый пакет с сервера и проверять его на "каноничность". Если он "каноничен", то UOExt не поддерживается этим сервером, если он специальный, то из него прочитать настройки для UOExt.
r56 (01.05.2012) - UOExt (фича): Если сервер не поддерживает UOExt, то она выгружается из АП клиента, позволяя ему продолжать работать в штатном режиме.
r57 (15.05.2012) - UOExt (фича): Добавить специальную dll'ку, которая будет заниматься визуализацией процесса клиенту.
- UOExt (правка): Сделать проверку что на этапе инициализации IP/порт те-же что и на этапе коннекта самого клиента.
- UOExt (правка): При заражении ставить метку о заражении. Это нужно для того, чтобы убрать возможность повторного заражения и/или перезаражать, если механизм заражения изменился.


--------------------
Do. Or do not. There is no Try!
© Master Joda, Dagobah, Star Wars: Episode V.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Ozzy Osbourne
сообщение 1.11.2010, 12:31
Сообщение #2


*********

Grandmaster
Сообщений: 2.067
Регистрация: 5.8.2003
Группа: Пользователи
Наличность: 0
Пользователь №: 810
Возраст: 32



Надо надо (IMG:style_emoticons/default/smile.gif)
Сейчас анимации на весь экран приходится сенд пакетами делать(( а так будет способ поинтереснее (IMG:style_emoticons/default/smile.gif)


--------------------
Forest Wars
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
StaticZ
сообщение 1.11.2010, 13:37
Сообщение #3


*********

Разработчик проекта "Квинтэссенция"
Сообщений: 2.155
Регистрация: 15.6.2009
Группа: Пользователи
Наличность: 0
Из: РФ, Москва
Пользователь №: 11.948



Конечно надо, только вот поддержка Razor всеже нужна


--------------------
RP сервер UO: Quintessence, а также ПО: EssenceUCS, EssenceUDK, CentrEd+, Fiddler+ и др.
Game isn't a dream, it is the reality, reality which is coming while we dream...
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Ozzy Osbourne
сообщение 1.11.2010, 15:15
Сообщение #4


*********

Grandmaster
Сообщений: 2.067
Регистрация: 5.8.2003
Группа: Пользователи
Наличность: 0
Пользователь №: 810
Возраст: 32



ну разоры шмазоры это можно и потом прикрутить. пока с этим ненадо заморачиваться что бы не распылятся.


--------------------
Forest Wars
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Warstone
сообщение 13.11.2010, 2:22
Сообщение #5


*********

Группа: Модераторы
Наличность: 0
Пользователь №: 10.905
Возраст: 25



Итак... Пройден этап первичного тестирования и вылова глюков. dll удачно рапортует о том, что создан прокси на свободном порту и клиент схавал подложный login.cfg. То есть клиент не отторгает эту длл... Во время тестов удалось удачно и напрочь подвешивать Windows7, чему я, честно говоря, удивился.

Следующий шаг - тестирование клиент-сервера.

А интересующихся Сферойдов так и нет.


--------------------
Do. Or do not. There is no Try!
© Master Joda, Dagobah, Star Wars: Episode V.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Wap
сообщение 13.11.2010, 2:57
Сообщение #6


**********

Администратор Форума
Сообщений: 3.003
Регистрация: 22.12.2006
Группа: Администраторы
Наличность: 31652
Пользователь №: 9.227



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

Сообщение отредактировал wap - 13.11.2010, 2:58


--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Warstone
сообщение 13.11.2010, 14:33
Сообщение #7


*********

Группа: Модераторы
Наличность: 0
Пользователь №: 10.905
Возраст: 25



На вопрос общаственности... Как делать систему плагинов?

Сейчас в планах 2 типа плагинов: Клиентские и серверные. Клиентские - пользователь может сам ставить/писать (получается этакое макро средство для упертых), тут могут быть всякие свисто-перделки...

Серверные - вот тут вопрос... Их ставит Администратор сервера путем прописывания еще одного пакета в протокол... Вообще, планирую сделать инкапсуляцию своего протокола в протокол УО (По принципу 0xBF пакета). Серверные плагины скачиваются непосредственно с сервера (с Game сервера) и тут-же инициализируются. Клиент не может управлять этими плагинами, если это запрещено сервером.

Плагины пока-что планируются как dll файлы, у которых есть Initialize функция, которой и передается управление. В параметрах будет, скорей всего, описание функций, по принципу OpenGL'ного выбора разрешения экрана (кажется, давно дело было... Если коротко: На каждую функцию будет 8 байт: ID функции и ссыль на участок памяти. Таким образом, при изменении хоста, плагины не всегда переписывать надо).

Пока список функций довольно простой:
RegisterPacketHandler(Header:Byte; Handler: TPacketHandler);
UnRegisterPacketHandler(Header: Byte; Handler: TPacketHandler);
RegisterPacketType(Header:Byte; Size:Word);
SendPacket(ToServer:Boolean; Data: Pointer; Size: Word);

TPacketHandler = function (Data: Pointer; var Size:Word; var Send: Boolean):Boolean;
Для последнего - Если вы поменяли пакет, то возвращаете True, если нет, то False. Пакет можно менять (вплоть до смены типа пакета), но нельзя вылезать за рамки Size. Надо послать больше? SendPacket и Send := False;. Да, если ставите Send := False; то следующие плагины этот пакет не обработают... То есть пакет как будто и не приходил вовсе.

При SendPacket он так-же будет проходить стек обработчиков.

Да, все функции stdcall(WinAPI соглашение).

Как-то так...

С# планируется, но на далекое будущее.

Предложения, пожелания?


--------------------
Do. Or do not. There is no Try!
© Master Joda, Dagobah, Star Wars: Episode V.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
StaticZ
сообщение 13.11.2010, 15:58
Сообщение #8


*********

Разработчик проекта "Квинтэссенция"
Сообщений: 2.155
Регистрация: 15.6.2009
Группа: Пользователи
Наличность: 0
Из: РФ, Москва
Пользователь №: 11.948



Цитата(Warstone @ 13.11.2010, 14:33) *

Серверные плагины скачиваются непосредственно с сервера (с Game сервера) и тут-же инициализируются. Клиент не может управлять этими плагинами, если это запрещено сервером.

Нужна система защиты иначе могут просто подменить плагин на одноименную пустышку.

Цитата(Warstone @ 13.11.2010, 14:33) *

Плагины пока-что планируются как dll файлы, у которых есть Initialize функция, которой и передается управление. В параметрах будет, скорей всего, описание функций, по принципу OpenGL'ного выбора разрешения экрана (кажется, давно дело было... Если коротко: На каждую функцию будет 8 байт: ID функции и ссыль на участок памяти. Таким образом, при изменении хоста, плагины не всегда переписывать надо).

Чето вообще не уловил логики.. Причем тут изменение хоста? и для чего вообще переписывать плагины при изменении хоста?

ЗЫ: насколько я понимаю каждый плагин работает в своем потоке?
Может лучше сделать чето типа плагинс.сфг где прописать названия функций что вызывать?


--------------------
RP сервер UO: Quintessence, а также ПО: EssenceUCS, EssenceUDK, CentrEd+, Fiddler+ и др.
Game isn't a dream, it is the reality, reality which is coming while we dream...
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Soteric
сообщение 13.11.2010, 20:41
Сообщение #9


********

Master
Сообщений: 1.377
Регистрация: 7.8.2006
Группа: Пользователи
Наличность: 3057
Пользователь №: 7.166



Цитата(Warstone @ 1.11.2010, 12:09) *
Оно вообще-то надо?

Нам надо хоть один завершенный продукт программиста Warstone, чтобы начать воспринимать его идеи серьезно (IMG:style_emoticons/default/smile.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Warstone
сообщение 14.11.2010, 0:50
Сообщение #10


*********

Группа: Модераторы
Наличность: 0
Пользователь №: 10.905
Возраст: 25



Цитата(StaticZ @ 13.11.2010, 15:58) *

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

ЗЫ: насколько я понимаю каждый плагин работает в своем потоке?
Может лучше сделать чето типа плагинс.сфг где прописать названия функций что вызывать?

Насчет хоста - я имел в виду саму программу. Пока оставим... Мне тут самому еще продумать место надо.

Нет, все плагины "работают" в одном потоке... потоке Прокси. Вернее так: Сначала Прокся проходится по всем плагинам (тут куча оговорок, потом распишу) и вызывает инициализацию. Так как это обыкновенные длл(то тут вы можете спавнить сколько хотите потоков, но их смысл пока ускользает), в коде инициализации вам передают ссылки на API, вы регистрируете расширения протокола и обработчики пакетов. Дальше, как только все плагины инициализированы, начинается сам процесс "перехвата"... Как только приходит пакет с клиента или сервера, он расшифровывается (разархивируется Хаффман, возможно потом и снятие шифрования будет) и вызываются обработчики, которые зарегистрированы для этого пакета. Во время работы обработчика можно регистрировать новые обработчики, разрегестрировать старые, в том числе и текущий, посылать дополнительные пакеты в обе стороны. Если пакет прошел все обработчики и с него не снят статус отправления, то он опять упаковывается, если это надо и посылается дальше клиенту или серверу.

Как-то так...

Сотерик... Я сарказм понял и он вполне имеет место быть. Вообще - ты прав. В частности... Посмотрим.


--------------------
Do. Or do not. There is no Try!
© Master Joda, Dagobah, Star Wars: Episode V.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Vizit0r
сообщение 15.11.2010, 9:40
Сообщение #11


*

Registred
Сообщений: 2
Регистрация: 15.11.2010
Группа: Пользователи
Наличность: 0
Пользователь №: 13.189



Цитата(Warstone @ 1.11.2010, 11:09) *

UOExt или Ultima Online ® © ™ Protocol Extender
Суть идеи: На клиенте повесить обработчик протокола между клиентом и сервером. То есть технология такая: Клиент читает Login.cfg... Как только он делает CreateFileA, перехватчик создает, в отдельном потоке, слушающий тред и скармливает клиенту Что-то типа LoginServer=127.0.0.1,XXX, где XXX - динамически порт. Клиент коннектится к этому "серверу", тот, в свою очередь, коннектится к настоящему серверу и начинает пропускать протокол через себя.
Естественно что через такую прокси систему так-же можно получать пакеты, которые неизвестны клиенту и обрабатывать их, посылать пакеты клиенту, не получая их с сервера.
Что это дает:
Возможность часть логики переложить на клиента. Я приведу пару примеров, которые просто очень хорошо ложатся в эту идеологию:
1) Есть "хотелка":
Раскрашивать проперти вещи различными цветами. То есть красным если требование не выполнено и зеленым, если оно - выполнено. Это можно сделать на сервере, но зачем? Это будет занимать лишнее время сервера, которое всегда дорого.
Можно это-же сделать на клиенте. Тогда раскрашивать будет сам клиент, а серверу, простите, пофигу.
2) Есть "хотелка":
Хочу ощще ппц спец. эффекты при касте магии. То есть кидается спелл... Дальше начинаются спец. эффекты по всему экрану. Они ни на что не влияют, но они есть...
Такую штуку, опять-таки, хорошо делать на клиенте, а сервер будет просто посылать id анимации, время, прошедшее с запуска анимации.

Вообще, тут возможности безграничны.

Что есть на данный момент:
преАльфа версия. Перехват протокола реализован. Инъекция производится с помощью "Запускатора".

Что будет дальше:
преАльфа, после вылова глюков и, возможно, рефакторинга кода, перейдет в Альфу, с которой удастся поработать некоторым шардам (пока один на RunUO. Возможно нужен будет еще один на Sphere/POL, но все зависит от активности Сферойдов и POLотеров =))

я обожаю изобретателей велосипедов. они натыкаются на проблемы, сто раз решенные до них, при этом не читают эти ваши интернеты, и героически их преодолевают.

Даю намек - исходники инжекта уже лет 10 как лежат на сурс форже. Там как раз и расшифрование+расжатие трафика, подмены пакетов, и отсыл своих пакетов клиенту\серверу, и прочее, прочее.

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




После прочтения постов про возможность встраивания ЛЮБЫХ плагинов-аддонов - стало понятно, что надо будет детектить еще и эту dll'ку в кач-ве вредной.


P.S. Вообще замечательная тема, не мог пройти мимо. даже потратил минуту на регистрацию (IMG:style_emoticons/default/smile.gif)

P.P.S. А название топика- то какое классное "We do what EA can't.". Я бы сказал, что EA это нафиг не надо просто. впрочем автор видимо себя считает более крутым, чем программисты из EA )))
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Warstone
сообщение 15.11.2010, 10:21
Сообщение #12


*********

Группа: Модераторы
Наличность: 0
Пользователь №: 10.905
Возраст: 25



Цитата(Vizit0r @ 15.11.2010, 9:40) *

я обожаю изобретателей велосипедов. они натыкаются на проблемы, сто раз решенные до них, при этом не читают эти ваши интернеты, и героически их преодолевают.

Даю намек - исходники инжекта уже лет 10 как лежат на сурс форже. Там как раз и расшифрование+расжатие трафика, подмены пакетов, и отсыл своих пакетов клиенту\серверу, и прочее, прочее.

Вариантов два - или автор как раз их и использовал (но скромно молчит об этом), либо автору надо вручить медаль героического изобретателя велосипедов.
После прочтения постов про возможность встраивания ЛЮБЫХ плагинов-аддонов - стало понятно, что надо будет детектить еще и эту dll'ку в кач-ве вредной.
P.S. Вообще замечательная тема, не мог пройти мимо. даже потратил минуту на регистрацию (IMG:style_emoticons/default/smile.gif)

P.P.S. А название топика- то какое классное "We do what EA can't.". Я бы сказал, что EA это нафиг не надо просто. впрочем автор видимо себя считает более крутым, чем программисты из EA )))

Ну а теперь мы еще немного подумаем... Желательно - головой...

Реалии жизни таковы: Или мы играем на Инжекте или на Razor'е... Что неудобно.

Медаль можешь вручать. Я не протестую... Только Платиновую или, как минимум, - золотую.

Насчет плагинов и детектинга dll в кач. вредной... Как-бы тебе сказать... Вариантов куча, так как пока рано говорить о возможностях, поэтому ваш сарказм - смешон. Да и как ты будешь детектить dll там, где ее нет?(Это если надо будет начинать войну).

Ну а насчет PPS... В качестве примера вот такой вариант:
Кеширование статики и динамически обновляемая статика во время игры - здесь это можно, у ЕА я как-то этого не нашел. Даже с EditServer в uo.cfg.


--------------------
Do. Or do not. There is no Try!
© Master Joda, Dagobah, Star Wars: Episode V.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Vizit0r
сообщение 15.11.2010, 10:43
Сообщение #13


*

Registred
Сообщений: 2
Регистрация: 15.11.2010
Группа: Пользователи
Наличность: 0
Пользователь №: 13.189



про P.P.S. - а EA оно просто не надо. вот и все.

Цитата
Ну а теперь мы еще немного подумаем... Желательно - головой...

емкий ответ, на все. главное - аргументированный.


действительно, рано еще. через пару месяцев зайду, проведаю обстановку, может будет что-то более готовое, что уже можно будет рубить (IMG:style_emoticons/default/smile.gif)

а насчет dll там, где ее нет - это вообще пять.

засим удаляюсь, как-то попозже зайду, гляну.

P.S. Если пользовательских плагинов не будет - то удачи в разработке, если будут - то грандиозного фейла проекту (IMG:style_emoticons/default/smile.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Warstone
сообщение 15.11.2010, 12:46
Сообщение #14


*********

Группа: Модераторы
Наличность: 0
Пользователь №: 10.905
Возраст: 25



Цитата(Vizit0r @ 15.11.2010, 10:43) *

про P.P.S. - а EA оно просто не надо. вот и все.
емкий ответ, на все. главное - аргументированный.
действительно, рано еще. через пару месяцев зайду, проведаю обстановку, может будет что-то более готовое, что уже можно будет рубить (IMG:style_emoticons/default/smile.gif)

а насчет dll там, где ее нет - это вообще пять.

засим удаляюсь, как-то попозже зайду, гляну.

P.S. Если пользовательских плагинов не будет - то удачи в разработке, если будут - то грандиозного фейла проекту (IMG:style_emoticons/default/smile.gif)

Всегда рад конструктивной критики.
А dll можно грузить руками так, чтоб она неотсвечивала в списках загруженных dll. Тогда ее только по сигнатуре искать. Нет, это можно, но тогда какая большая будет база сигнатур... Сопоставимая с самим клиентом.
Буду ждать.
На PS: Всегда есть галочка "Сервер прав" и пакет с сервера "запретить клиентские плагины", вы не находите?


--------------------
Do. Or do not. There is no Try!
© Master Joda, Dagobah, Star Wars: Episode V.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
StaticZ
сообщение 15.11.2010, 17:44
Сообщение #15


*********

Разработчик проекта "Квинтэссенция"
Сообщений: 2.155
Регистрация: 15.6.2009
Группа: Пользователи
Наличность: 0
Из: РФ, Москва
Пользователь №: 11.948



Цитата(Vizit0r @ 15.11.2010, 9:40) *

P.P.S. А название топика- то какое классное "We do what EA can't.". Я бы сказал, что EA это нафиг не надо просто. впрочем автор видимо себя считает более крутым, чем программисты из EA )))


EA много чего не надо, однако это не значит что пользователям это не надо. Например изменение расширения игрового окна в UO EA досихпор не может сделать хотябы 1024х768, что совсем не много при современной диагонали монитора минимум 17-19 дюймов, я уже молчу про то что и 24-26 дюймовые мониторы давно уже продаются по приемлемой цене. То что современные компьютеры без проблем потянут UO на любом разрешении тоже очевидно.. EA выпускает аддоны но исправить это даже не хотят, хотя уверен там работы на день максимум на неделю, а при помощи Razor'а можно ставить любое разрешение и все этим пользуются и всем это надо... Также не стоит забывать что EA делает клиент только для офф сервера а не для фришардов, а у многих фришардов UO мягко сказать сильно переделанна, при этом так сказать возникают проблемы связанные с ограничением клиента, т.е. клиент мешает реализовать многие задумки такчто слоган "We do what EA can't." имеет полное право на жизнь. Конечно есть Инжект (у которого кстати проблемы совместимости с новыми клиентами), но он ориентирован на игроков, а данная тулса предназначена для использования нестандартных фишек фришардов и плагины тут в основном делают не игроки а администрация под конкретно свой сервер. Без подержки плагинов сервером толку от них будет не много. Кстати один из вариантов - "теневая авторизация" и запрет разора и инжекта и прочего макросного софта, о чем кстати мечтают много фришардов. Такчто сам проект востребован, но конечно не для игроков оси-стайл серверов, ну а дальше все зависит от реализации идеи... :-)


--------------------
RP сервер UO: Quintessence, а также ПО: EssenceUCS, EssenceUDK, CentrEd+, Fiddler+ и др.
Game isn't a dream, it is the reality, reality which is coming while we dream...
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
d`ArcZeal
сообщение 15.11.2010, 17:59
Сообщение #16


**********

Elder
Сообщений: 2.962
Регистрация: 27.11.2005
Группа: Пользователи
Наличность: 7797
Пользователь №: 4.522
Возраст: 34



Цитата(Ozzy Osbourne @ 1.11.2010, 12:31) *

Надо надо (IMG:style_emoticons/default/smile.gif)
Сейчас анимации на весь экран приходится сенд пакетами делать(( а так будет способ поинтереснее (IMG:style_emoticons/default/smile.gif)

А чем сенд пакеты плохи, не подходят, отлично работают.


--------------------
Olmer online administrator
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Ozzy Osbourne
сообщение 16.11.2010, 0:34
Сообщение #17


*********

Grandmaster
Сообщений: 2.067
Регистрация: 5.8.2003
Группа: Пользователи
Наличность: 0
Пользователь №: 810
Возраст: 32



Работают отлично, с этим проблем нет. Но когда в мире стоит к примеру квестовый предмет который посылает в радиусе экрана сендпакеты каждые там 2 сек - то это может вызвать некие тормоза если рядом с ним будет к примеру 20-30 плееров. Ну я не тестил, но предполагаю


--------------------
Forest Wars
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Warstone
сообщение 16.11.2010, 0:35
Сообщение #18


*********

Группа: Модераторы
Наличность: 0
Пользователь №: 10.905
Возраст: 25



Цитата
А чем сенд пакеты плохи, не подходят, отлично работают.
А все просто... Так ты напрягаешь сервер рассчитывать что и где показать, а так по этому поводу напрягается клиент. Серверу и так есть чем заняться. Пусть он урон просчитывает.


--------------------
Do. Or do not. There is no Try!
© Master Joda, Dagobah, Star Wars: Episode V.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
GblPower
сообщение 17.11.2010, 11:55
Сообщение #19


*****

Journeyman
Сообщений: 318
Регистрация: 8.3.2008
Группа: Пользователи
Наличность: 0
Пользователь №: 10.584



Полезная штука. Особенно для ПОЛа.
И вопрос, как от кодерного ламера - если я правильно понимаю схему, то эта прога не поможет отключить "олвейс лайт" от инжи, разора и т.д. Или все же есть возможность?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
StaticZ
сообщение 17.11.2010, 13:02
Сообщение #20


*********

Разработчик проекта "Квинтэссенция"
Сообщений: 2.155
Регистрация: 15.6.2009
Группа: Пользователи
Наличность: 0
Из: РФ, Москва
Пользователь №: 11.948



Цитата(GblPower @ 17.11.2010, 11:55) *

Полезная штука. Особенно для ПОЛа.
И вопрос, как от кодерного ламера - если я правильно понимаю схему, то эта прога не поможет отключить "олвейс лайт" от инжи, разора и т.д. Или все же есть возможность?

и да и нет... "олвейс лайт" можно отключить со стороны сервера и для етого предусмотренаа опция Negotiate razor features with server, при этом сервер должен поддерживать расширение протокола разора ну и для того чтобы убедится что никто не обошед это ограничение приедется дисконектить клиентов что не ответили на запрос отключения фич... т.е. дисконектить всех кто играет без разора или другой тулсой или с разором но с выключенной опцией Negotiate razor features with server. Для инжекта может чтото и есть похоже но не думаю...


--------------------
RP сервер UO: Quintessence, а также ПО: EssenceUCS, EssenceUDK, CentrEd+, Fiddler+ и др.
Game isn't a dream, it is the reality, reality which is coming while we dream...
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

19 страниц V  1 2 3 > » 
Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 27.4.2024, 20:27
Designed by Nickostyle