Перейти к содержимому
AlexCatze

Возрождаем OpenNet(не опять, а снова)

Рекомендуемые сообщения

Кстати в качестве движка для браузера можно взять NyaDraw, по сути тот же Screen из Майноськи, но спокойно работает под OpenOS без зависимостей. Быстро рендерит странички (переносил я его изначально как часть своего браузера), позволяет рисовать фигуры, и (хе-хе) поддерживает картинки, так что браузеру их нужно только распарсить, вытянуть, и скормить движку. Ну и памяти он ест не сильно много))))

 

  • Нравится 1
  • Спасибо 1
  • Ха-ха 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
24 минуты назад, Bs0Dd сказал:

Кстати в качестве движка для браузера можно взять NyaDraw, по сути тот же Screen из Майноськи, но спокойно работает под OpenOS без зависимостей. Быстро рендерит странички (переносил я его изначально как часть своего браузера), позволяет рисовать фигуры, и (хе-хе) поддерживает картинки, так что браузеру их нужно только распарсить, вытянуть, и скормить движку. Ну и памяти он ест не сильно много))))

 

Картинки же в .pic? Если да, то я могу свой bmp24 в библиотеку перестроить, можно будет и бмп парсить)

  • Нравится 1
  • Спасибо 1
  • В шоке 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, ov3rwrite сказал:

Картинки же в .pic?

Ну да, точнее в OCIF (поддержка версий 5-7), он, все же, более адаптирован под особенности видеосистемы в OpenComputers. И bmp24, имхо, сыроват, он не всегда корректно открывает BMP файлы. Да и размер у них выше, что не очень эффективно, учитывая малые размеры жестких дисков и весьма ограниченную ОЗУ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, Bs0Dd сказал:

Да и размер у них выше, что не очень эффективно, учитывая малые размеры жестких дисков и весьма ограниченную ОЗУ.

Возможно, bmp24 делался с целью понять, как устроен формат BMP. А для опенкомпов, как вы уже сказали, есть OCIF, и писать ей альтернативу будет не очень резонно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, vford сказал:

А для опенкомпов, как вы уже сказали, есть OCIF, и писать ей альтернативу будет не очень резонно.

У OCIF есть фатальный недостаток.

  • Нравится 1
  • Одобряю 3
  • Спасибо 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Офигеть тут в чате понаписали за ночь!!! Представляю как это было: :smile25: 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Люди!? Тема умирает!!! Поднимаем АКТИВ!!! Встали-Сели Раз-Два-Раз-Два-Раз-Два-Раз-Два-Раз-Два-Раз-Два-Раз-Два-Раз! Уфф. . . Автор как там разработка?

 

Изменено пользователем SenTony

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Актив, собственно как и обновления будут когда у меня будет время и силы. Это подразумевает что я не час в день, после 8 часов дистанционки, с кровью из глаз пытаюсь что-то накодить, а нормально сажусь, и спокойно могу целый день посвятить сетке. Скорее всего это будет ближе к лету, и то, если учебный год не продлят, лицей как никак. Если хочется актива вот прям здесь, сейчас, и много - если хотите, можете помочь с разработкой. А так, по крайней мере крупных апдейтов, скорее всего до лета не будет. Учёба, учёба и ещё раз учёба. А, ну и Genshin Impact ещё, конечно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Была у меня похожая разработка (месяца 3 назад делал)
Умела сама регистрировать пользователей, роутеры, была встроенная система DNS, если интересно - могу скинуть

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 25.02.2021 в 13:25, AtomicScience сказал:

да и это необязательно - в сети, где все друг другу доверяют, можно просто шарить lua-скрипты, которые будут рендерить страницы.
 

строго говоря, даже "доверенность" сети не обязательна. Просто запускать код в песочнице - и пусть делает там что хочет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
30 минут назад, BrightYC сказал:

строго говоря, даже "доверенность" сети не обязательна. Просто запускать код в песочнице - и пусть делает там что хочет.

Ну, доверенность призвана защищать не от вредительского кода типа filesystem.delete("/"), а скорее от недостоверной информации и спама. Вдруг кто-то начнет рассылать порно-баннеры, блокирующие компьютер бесконечным циклом?

Изменено пользователем AtomicScience

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, AtomicScience сказал:

Ну, это защита не от вредительского кода типа filesystem.delete("/"), а скорее от недостоверной информации и спама. Вдруг кто-то начнет рассылать порно-баннеры, блокирующие компьютер бесконечным циклом?

сделать внутри песочницы свой TLWY, блокирующие вызовы - подменить, стандартный while true do end отлавливается pcall'ом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, BrightYC сказал:

сделать внутри песочницы свой TLWY, блокирующие вызовы - подменить, стандартный while true do end отлавливается pcall'ом.

Ну, то есть у песочницы есть куча нюансов и потенциальных уязвимостей, которые надо просчитать и реализовать в коде - отличная задача для старожилов форума, наверное. Да и от рассылки этих порно-баннеров это все равно никак не защитит

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
20 минут назад, BrightYC сказал:

сделать внутри песочницы свой TLWY, блокирующие вызовы - подменить, стандартный while true do end отлавливается pcall'ом.

А каким образом внутри пользовательского кода OpenComputers можно реализовать механику TLWY? Насколько я понимаю, в лучшем случае можно убить скрипт по исчерпании доступного ему  времени, заданного в конфигурации мода или перехватить совершаемые им вызовы. А в худшем случае лагающий сервер выключит комп раньше. А ещё можно получить бан от админа.

 

И кроме стандартного while true do end можно придумать много других скриптов с тем же эффектом. Как предлагаешь бороться с ними?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 минуты назад, eu_tomat сказал:

А каким образом внутри пользовательского кода OpenComputers можно реализовать механику TLWY?

Есть блокирующие вызовы, которые не вызывают TLWY, но позволяет в цикле выполнять код без задержки. Насколько помню, код вроде while true do computer.beep() end будет выполняться бесконечно, но мы можем подменить computer.beep на свой, с задержкой.

 

9 минут назад, eu_tomat сказал:

И кроме стандартного while true do end можно придумать много других скриптов с тем же эффектом. Как предлагаешь бороться с ними?

А какая разница, как синтаксически выражен бесконечный цикл? Если компьютер не yield'ится - сам machine.lua выкинет TLWY, который отловится pcall'ом (не всегда, конечно, но в большинстве случаев отлавливается)

 

11 минуту назад, eu_tomat сказал:

А в худшем случае лагающий сервер выключит комп раньше. А ещё можно получить бан от админа.

Как раз поэтому есть TLWY, который поможет избежать выключения компьютера/бана от админа. Если компьютер вообще выключился - это должны были сойти все звезды, не вижу особых проблем. Если говорить о теории, то конечно, абсолютно гарантировать отлавливание TLWY нельзя, но на практике обычного pcall'а достаточно. Сайт этим и так подпортит себе репутацию.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
5 минут назад, BrightYC сказал:

но на практике обычного pcall'а достаточно

Главное, чтобы оператор АЭС не задумал посмотреть что-нибудь на рабочем компе. :)

Иначе с реактором может случиться бо-ольшой бабах...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
32 минуты назад, ProgramCrafter сказал:

Главное, чтобы оператор АЭС не задумал посмотреть что-нибудь на рабочем компе. :)

Иначе с реактором может случиться бо-ольшой бабах...

это не проблема "песочницы" непосредственно, TLWY может вылетать просто так, если сервер очень сильно тормозит. К тому же, это не проблема песочницы, а в целом внутриигровой среды OC. С таким же успехом можно запустить while true do end и говорить "а у меня комп сломался!!!".

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, BrightYC сказал:

TLWY может вылетать просто так, если сервер очень сильно тормозит

Конечно, не просто так. Вероятность вылета повышается пропорционально нагрузке, создаваемой скриптом. А так как нагрузка ненулевая, то и вероятность вылета тоже всегда больше нуля. Но нагрузка играет значительную роль.

49 минут назад, BrightYC сказал:

Если компьютер вообще выключился - это должны были сойти все звезды, не вижу особых проблем.

В этом звёзды сходятся довольно часто. Если на лагающем сервере скрипт while true do end завершается по TLWY, то pcall не гарантирует устойчивости.

 

3 минуты назад, BrightYC сказал:

С таким же успехом можно запустить while true do end и говорить "а у меня комп сломался!!!".

Потому-то и не запускаем. Как и скрипты в браузере.

 

Но я понял твой подход. Игрокам, требовательным к стабильности работы компьютера, такие скрипты не нужны. Но остальным, возможно,  пригодятся. Только надо честно предупреждать о возможных последствиях.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Клиентские скрипты я реализовывать не буду, что бы их латать никаких костылей не хватит. А вот серверные CGI будут.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...