Комментарии 15
Для выполнения кода на сервере надо поменять скрипты используемые сервером. То есть если хакер должен получить доступ на запись к папке со скриптами.
Если же пользователь поменяет скрипты на клиенте, то произойдёт рассинхрон.
Сейчас этого скрипта на клиентской стороне уже нет, после соединения клиент получает список готовых объектов по вебсокетам.
Если же пользователь поменяет скрипты на клиенте, то произойдёт рассинхрон.
Сейчас этого скрипта на клиентской стороне уже нет, после соединения клиент получает список готовых объектов по вебсокетам.
думаю можно еще использовать верификацию CRC файлов.
Да, здорово :)
В бомбере такой подход используется для скинов, тоже обрабатывается коллекция и получается уже нормальный JSON списка скинов с заполненными многочисленными полями.
В бомбере такой подход используется для скинов, тоже обрабатывается коллекция и получается уже нормальный JSON списка скинов с заполненными многочисленными полями.
Xml тоже можно смотреть дифы. Есть редакторы которые показывают xml в виде таблицы. Любой декларативный вариант скриптов «ляжет» на xml. Почему то многие програмисты считают что всем вокруг удобнее описывать все через скрипты.
Но статья отличная.
Но статья отличная.
А MPS не пробывали? )
Проходил туториал. MPS-код нельзя поредактировать через блокнот, а значит тем кто будет это редактировать и собирать во что-либо придётся ставить MPS => очень неудобно.
Ну да, придется. Блокнот, всё-таки, ничего не знает о вашем языке и подсказать ничего не может. Меня по началу тоже напрягало, что я не редактирую напрямую текст. Казалось, что это что-то слишком зыбкое, что нельзя поченить в случае чего извне. Потом привыкаешь. Единственный минус — пока нет локальной истории, но, думаю, это должны добавить. Плюс MPS в том, что редактор уже написан за вас. На MPS поломать исходник очепяткой сложнее, чем в обычном редакторе.
А ставить какие-то инструменты в любом случае придется, если речь идет о немалом проекте )
А ставить какие-то инструменты в любом случае придется, если речь идет о немалом проекте )
Чтобы использовать MPS в моём случае, придётся на нём разработать ещё один язык, код из которого будет собираться в groovy скрипт. Иначе я не смогу делать быстрые правки конфигурации на сервере.
Я бы использовал MPS в другом проекте, где предполагалось что код только через IDE будет редактироваться, но там основная программа на C#, пришлось всё писать самому кроме парсера (Irony) и редактора кода (SharpDevelop AvalonEdit).
Я бы использовал MPS в другом проекте, где предполагалось что код только через IDE будет редактироваться, но там основная программа на C#, пришлось всё писать самому кроме парсера (Irony) и редактора кода (SharpDevelop AvalonEdit).
Типично для Ruby, — DSL для описания конфигурации. Вам бы рекомендовал попробовать для этой цели JRuby.
brick do
type :solid
image 44
// сейчас будем описывать что будет если блок снесут
on_damage do
prise_in_brick do
variants: [
// Прописываем выпадение предметов
bomb for: 20.percents
power for: 40.percents
scate for: 40.percents
// Тут даже можно описать некоторый предмет, который будет превращаться во что-то другое когда его подберут
surprise for: 10.percents, effect: :santa_cant_take, image: 11, variants: {
bomb for: 5.percents
}
heart for: 0.1, health: 430
]
// В любом случае надо снести этот блок
destroy_rocky
end
Сейчас попробую его подрубить к тестовому github-овскому проекту, проверим что выйдет :)
OK, грязноватый скрипт на jruby
Понятно что скриптовую модель придётся менять чтобы использовать всю его мощь.
Понятно что скриптовую модель придётся менять чтобы использовать всю его мощь.
Я, к сожалению, не понял в чем была проблема, как работала тайловая система, зачем понадобились json скрипты и причем здесь мультиплеер. Возможно ли как то еще доступно объяснить? :) Спасибо
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Конфигурирование через скрипты вместо XML и JSON на примере realtime multiplayer игры