Скрипты клиента или сложный вопрос безопасности и выбора языка для скриптов.

 
+
-
edit
 

Balancer

администратор
★★★★★
Murkt> Всё равно будет дурдом. Тебе для каждого языка придётся делать такие-сякие обёртки, защиты, етц.

Если это полноценный язык - то нет. Формат обмена-то будет не сорец языка, а стандартный *.class, который будет использовать стандартный общий для всех API.

Murkt> Я - против многоязычия.

Тогда надо делать ставку на самый распространённый и популярный язык. Разве нет? :D
… чтобы понять рекурсию, нужно сперва понять рекурсию …  
+
-
edit
 

Murkt

Pythoneer

Murkt>> Всё равно будет дурдом. Тебе для каждого языка придётся делать такие-сякие обёртки, защиты, етц.
Balancer> Если это полноценный язык - то нет. Формат обмена-то будет не сорец языка, а стандартный *.class, который будет использовать стандартный общий для всех API.

Не все языки отображаются полностью в .class

Murkt>> Я - против многоязычия.
Balancer> Тогда надо делать ставку на самый распространённый и популярный язык. Разве нет? :D

самый распространённый и популярный язык... из тех, на которых мы согласны писать. Я согласен писать на Python и Lisp :D Выбор, по-моему, однозначен :-E
[team Їжачки - сумні падлюки]  
+
-
edit
 

masterXL

разработчик OpenWorlds
кхммм... это с какого перепугу 3д объекты стали весить гигабайты? текстуры возможно, но .3ds не так и тяжел
Трудно быть богом... Не веришь? Спроси любого админа! можешь спросить у меня 175506816 ServerIP=193.41.172.19 Перенос доступен  
RU Balancer #31.08.2007 19:12  @masterXL#31.08.2007 19:00
+
-
edit
 

Balancer

администратор
★★★★★
masterXL> кхммм... это с какого перепугу 3д объекты стали весить гигабайты? текстуры возможно, но .3ds не так и тяжел

По совокупности. Для всего мира :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  
+
-
edit
 

Balancer

администратор
★★★★★
Murkt> самый распространённый и популярный язык... из тех, на которых мы согласны писать.

Если только мы будем писать - мы обречены на облом. Нам надо, чтобы писали нам. И писали много.
… чтобы понять рекурсию, нужно сперва понять рекурсию …  
UA MorbidAngel #03.09.2007 13:42
+
-
edit
 

MorbidAngel

разработчик L2J Fortress

а что подразумевается под скриптами клиента? что то вроди макросов как в вове или именно сам клиент?
 
+
-
edit
 

Balancer

администратор
★★★★★
Клиент должен уметь выполнять операции над своими объектами. Объекты (вместе с их скриптами) могут передаваться от одного клиента другому.

...

Пример - есть термометр, который показывает температуру в родном городе. Скрипт термометра должен уметь получить снаружи новую температуру и нарисовать её на 3D-модели. Когда ты передаёшь кому-то этот термометр, кроме его модели передаётся ещё и скрипт. Как компонент модели.
… чтобы понять рекурсию, нужно сперва понять рекурсию …  
UA MorbidAngel #03.09.2007 15:26
+
-
edit
 

MorbidAngel

разработчик L2J Fortress

Свой двиг 3д писать мы не будим?!, а все готовые поставляются в виде библиотек, а на каком языке будит вызов метода уже не имеет значения!
А на счет безопасности - будит на столько безопасно на сколько продуманно написаны скрипты сервера. В случае онлай игр не клиент управляет сервером, а сервер клиентом.
 
+
-
edit
 

Balancer

администратор
★★★★★
>а на каком языке будит вызов метода уже не имеет значения!

Очень даже имеет. Если кроме вызова метода этот язык сумеет сделать ещё и "format c:", то нам это мало подходит :D

>будит на столько безопасно на сколько продуманно написаны скрипты сервера

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

>В случае онлай игр не клиент управляет сервером, а сервер клиентом.

У нас не просто онлайн-игра, у нас всё намного сложнее и глобальнее. У нас клиенты - активные участники пополнения мира новыми объектами.
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Murkt

Pythoneer

> У нас клиенты - активные участники пополнения мира новыми объектами.

Надо будет летающие тапочки запретить, кстати :F
[team Їжачки - сумні падлюки]  
+
-
edit
 

Balancer

администратор
★★★★★
Murkt> Надо будет летающие тапочки запретить, кстати :F

А вот физика как раз у сервера будет ведущая :)

Клиент может и взлететь на тапочках, но если на сервере это явно не разрешено, то он тут же и грохнется :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  
UA MorbidAngel #10.09.2007 09:51  @Balancer#07.09.2007 20:34
+
-
edit
 

MorbidAngel

разработчик L2J Fortress

>>а на каком языке будит вызов метода уже не имеет значения!
Balancer> Очень даже имеет. Если кроме вызова метода этот язык сумеет сделать ещё и "format c:", то нам это мало подходит :D

Тогда нужно както запрещать использование системного апи
 
+
-
edit
 

Balancer

администратор
★★★★★
Вот в этом "как-то" собака и кроется. И не только в одном API, тонкостей там море... На сегодня в общем случае этот вопрос решили только для JavaApplet'ов, JavaScript и ActionScript :)

...

Кстати, в SecondLife скриптописание, оказывается, уже есть почти в том объёме, что мы задумываем. То есть любой пользователь, создавая объект, вводимый в мир, прикрепляет к нему и набор скриптов для действий с этим объектом - LSL Portal - Second Life Wiki
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

AXT

инженер вольнодумец
★★
Balancer> Вот в этом "как-то" собака и кроется. И не только в одном API, тонкостей там море...

В случае Java есть стандартное и абсолютно непробиваемое решение: Custom Class Loader. Т.к. JVM умеет грузить класс из формируемого программой массива, то пользовательские коды можно пропустить через свой фильтр, который во-первых не даст загрузить класс, импортирующий пакеты не входящие в "белый список", а во-вторых переименует все пользовательские классы в какую-нибудь нормализованную форму. Во избежание конфликтов в пространстве имён.
... так пускай наступает на нас холодным рассветом новый день ...  10.0.110.0.1

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru