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

 
Ответить в эту темуОткрыть новую тему
> Uo Proxy. The Creation.
Warstone
сообщение 15.12.2009, 0:06
Сообщение #1


*********

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



Скажу сразу: Данная тема посвящена одной моей задумки (копирайты налеплены давно много и под ними основной идеи уже не видно =) ), поэтому просьба людей, не собирающихся создавать шарды или людей "I'm just passing through" © Vin Disel собственно - не мешать. Так как информация, скорей всего, пойдет техническая и довольно специфическая. Другими словами: Здесь еды нет.

Собственно идея: Реализовать прослойку между клиентом и сервером, запускающуюся на машине клиентов для гм... модифицирования протокола УО в целях добавления нового функционала.
Функционал может быть различный, от банального кеширования гампов для 2д клиентов (а-ля 3д клиент), до онлайнового патчинга статики и реализации на этом терроформации и прочих игр с землей.

Собственно реализация: Реализованно это будет (почти уже готово) на Дельфи (Open Pascal/Lazarus для защитников лицензии). В качестве сервера будет выступать... Вернее сейчас выступает - RunUO, но я не вижу никаких проблем в портации этого дела на Sphere/POL кои такие вещи там можно сделать.

Архитектура: Архитектура довольно проста: Запускаем локально приложение, которое слушает 127.0.0.1:2593, как только, к нему кто-то подключился подключается на xxx.xxx.xxx.xxx:xxxxx и начинает перегонять через себя УО пакеты. Основное приложение будет заниматься только поддержкой проксирования через себя протокола УО. Для этого надо менять 2 пакета:
0xA8: Servers List, где менять ИПы серверов на 127.0.0.1
и/или
0x0C: Play Server Accept
Возможно еще пакет перехода между серверами внутри одного игрового мира, хотя я не видел чтоб он использовался.

Инфа предоставлена RuOSI вообще и Wyatt'ом в частности хотя он об этом и не подозревает.

Далее, как только через себя протокол проксируется - надо реализовать механизм плагинов, которые могли-бы обрабатывать эти пакеты и запрещать их передачу и/или передавать дополнительные пакеты.

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

Зачем я тут это расписываю?
1) Может я не один такой <вырезано анти-матом>?
2) Может кому будет интересно и он гм... Поможет что-ли.
3) Чтоб не умерло. Так как идея интересная, а вот с реализацией, как всегда, жопа. Она есть, по почему-то после передаче пакета о скиллах - все тормозится. Надо искать. Да и чтоб были гм... мотиваторы.


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

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

 

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