TutWeb: различия между версиями
м Уточнения про реальное время |
Va (обсуждение | вклад) |
||
(не показано 20 промежуточных версий 3 участников) | |||
Строка 1: | Строка 1: | ||
Мод на "внутриигровой интернет", который позволяет создавать свои "сайты" | * [https://git.nashitut.ru/project/spirits/tutweb Код модуля] | ||
Мод на "внутриигровой интернет", который позволяет создавать свои "сайты" и сразу видеть изменения. Для создания "сайта" — используется {{Ico|009||https://www.lua.org/}}[https://lua.org язык Lua], а для отображения контента пользователю и взаимодействия с "сайтом" — используется <del>стандартный формспек</del> стандартная спецификация для веб-форм. | |||
== Для пользователя == | |||
=== Просмотр === | |||
* пометка "tuttp:" (TutWeb transfer protocol) — указанный адрес следует смотреть средствами игры | |||
* создайте {{Obj|tutweb|pda|4=id}} — портативное устройство доступа к сети TutWeb | |||
* в строке адреса можно написать знак # — это вызов поиска всех доступных страниц | |||
* или вписать имя игрока, тогда вы попадёте на корневую страницу сайта игрока | |||
=== Создание своего сайта === | |||
Видео: | |||
* {{Ico|002}}[https://peertube.nashitut.ru/w/1vEhrfpSBXsSiH7XEuCqYr Небольшой пример простой страницы] | |||
* {{Ico|002}}[https://peertube.nashitut.ru/w/2maL7HmrDRGRtLKzg4huBy Интерактивные сслыки и обработка событий] | |||
Сайт состоит из модулей-страниц. Модулем мы называем три текстовых файла имеющих общее имя и разные расширения. По умолчанию под адресом пользователя подразумевается модуль main, который состоит из трёх файлов main.form, main.event и main.file | |||
Для примера, в файле main.form мы можем написать список объектов, которые мы хотели бы видеть на странице. Объектами могут быть, например, поле для текста в формате html или кнопка | |||
* Если есть поле для текста в формате html, то содержание, которое должно показываться в этом поле, мы должны поместить в файл main.file | |||
* Если объект кнопка, то её нажатие создаёт событие, которое мы можем обработать программой на языке Lua, и выполнить какое-то действие. Программу для обработки событий мы помещаем в файл main.event | |||
* Для создания каждого из этих файлов мы должный выполнить следующие действия: | |||
** Из меню PDA выберите пункт РЕДАКТОР | |||
** А потом чистое шаманство... | |||
*** кнопка со значком "двух книжек" (слева) создаёт файлы, для этого надо написать полное имя файла, например, пользователь:модуль.form, где пользователь - это ваше имя при регистрации в TutWeb, а модуль - имя модуля | |||
*** вы перейдёте в режим редактора, а значок "двух книжек" изменится на "дискету" | |||
*** после ввода содержимого файла для сохранения нажмите "дискету" (слева) - не забывайте сохранять... | |||
*** как закрыть файл и перейти снова в режим создания нового файла - непонятно... попробуйте закрыть PDA, перейти на домашнюю страницу, по нажимать "Выполнить скрипт". Какая-то комбинация да сработает. | |||
*** создав все три нужных файла модуля вы можете попробовать его посмотреть | |||
** совет - не создавайте много модулей, потому что все они потом будут светиться в списке по поиску # | |||
** вспомнить что вы создавали можно тоже через поиск по всей сети TutWeb | |||
** Редакция ваших существующих файлов... | |||
*** шаманством попробуйте добиться чтобы в режиме РЕДАКТОР светилась кнопка со значком "две книги", а не "дискета" | |||
*** после этого введите полное имя файла и нажмите кнопку со значком "карандаша" (справа) | |||
*** после редакции не забудьте сохранить - кнопка "дискета" (слева) | |||
** Удаление ненужных модулей... функция не предусмотрена. Поэтому совет тот же - не создавайте много модулей. | |||
== Хост-мастерам == | |||
Мод находится в состоянии начальной разработки и тестирования, код не опубликован. В связи с этим установка на другие сервера возможна только на ваш страх и риск, без каких-либо гарантий. По всем вопросам обращаться к [[Участник:Mainspirit|Спириту]]. | |||
Об алгоритме работы кратко. | |||
Мод работает в защищенной среде (песочнице), и его можно подключать к серверу и отключать от него сколько угодно раз. Он не повлияет на генерацию и прочие механики любого сервера. Зависимости - default. И т.к. он хочет получить доступ к внешним PHP скриптам - в конфигурации сервера мод нужно добавить в исключение: | |||
* secure.trusted_mods = tutweb | |||
* secure.http_mods = tutweb | |||
Может использоваться как инструмент в качестве получения разного рода информации и документации, банковской системы, квестовой системы, памяти НПС, продвинутого хранилища и загрузки пользовательского контента на сервер в реальном времени. | |||
Все данные, все что видно на экране, включая системные модули, модули регистрации и авторизации, сам "браузер" и редактор модулей хранятся во внешней СУБД, к которой доступ можно получать с любых серверов, и даже с локальных пользовательских устройств подключенных к Интернет (через PHP скрипты). | |||
Весь интерфейс разворачивается в защищенной песочнице, при взаимодействии с этим интерфейсом, данные отсылаются в PHP, там обрабатываются и возвращаются в основной скрипт, откуда, по результатам обработки (например при переходе на другую страницу) вызывают группы модулей, которые подгружаются из БД в защищенную песочницу, которая на основании этих данных и формирует дальнейший скрипт для исполнения, загружает в виде LUA кода в виртуальную машину и выполняет его. | |||
Новые страницы сайтов хранятся в таблице БД, загружаются в песочницу и запускаются. | |||
С одной стороны PHP регламентирует получаемый код, с другой стороны - окружение самой песочницы. По этому, при программировании страниц нельзя использовать команды, которые могут повлиять на сервер, нет доступа к minetest. Или core. | |||
[[Category:Всё]][[Category:Mods]] | [[Category:Всё]][[Category:Mods]] |
Текущая версия от 05:09, 6 февраля 2025
Мод на "внутриигровой интернет", который позволяет создавать свои "сайты" и сразу видеть изменения. Для создания "сайта" — используется язык Lua, а для отображения контента пользователю и взаимодействия с "сайтом" — используется
стандартный формспек стандартная спецификация для веб-форм.
Для пользователя
Просмотр
- пометка "tuttp:" (TutWeb transfer protocol) — указанный адрес следует смотреть средствами игры
- создайте
tutweb:pda — портативное устройство доступа к сети TutWeb
- в строке адреса можно написать знак # — это вызов поиска всех доступных страниц
- или вписать имя игрока, тогда вы попадёте на корневую страницу сайта игрока
Создание своего сайта
Видео:
Сайт состоит из модулей-страниц. Модулем мы называем три текстовых файла имеющих общее имя и разные расширения. По умолчанию под адресом пользователя подразумевается модуль main, который состоит из трёх файлов main.form, main.event и main.file
Для примера, в файле main.form мы можем написать список объектов, которые мы хотели бы видеть на странице. Объектами могут быть, например, поле для текста в формате html или кнопка
- Если есть поле для текста в формате html, то содержание, которое должно показываться в этом поле, мы должны поместить в файл main.file
- Если объект кнопка, то её нажатие создаёт событие, которое мы можем обработать программой на языке Lua, и выполнить какое-то действие. Программу для обработки событий мы помещаем в файл main.event
- Для создания каждого из этих файлов мы должный выполнить следующие действия:
- Из меню PDA выберите пункт РЕДАКТОР
- А потом чистое шаманство...
- кнопка со значком "двух книжек" (слева) создаёт файлы, для этого надо написать полное имя файла, например, пользователь:модуль.form, где пользователь - это ваше имя при регистрации в TutWeb, а модуль - имя модуля
- вы перейдёте в режим редактора, а значок "двух книжек" изменится на "дискету"
- после ввода содержимого файла для сохранения нажмите "дискету" (слева) - не забывайте сохранять...
- как закрыть файл и перейти снова в режим создания нового файла - непонятно... попробуйте закрыть PDA, перейти на домашнюю страницу, по нажимать "Выполнить скрипт". Какая-то комбинация да сработает.
- создав все три нужных файла модуля вы можете попробовать его посмотреть
- совет - не создавайте много модулей, потому что все они потом будут светиться в списке по поиску #
- вспомнить что вы создавали можно тоже через поиск по всей сети TutWeb
- Редакция ваших существующих файлов...
- шаманством попробуйте добиться чтобы в режиме РЕДАКТОР светилась кнопка со значком "две книги", а не "дискета"
- после этого введите полное имя файла и нажмите кнопку со значком "карандаша" (справа)
- после редакции не забудьте сохранить - кнопка "дискета" (слева)
- Удаление ненужных модулей... функция не предусмотрена. Поэтому совет тот же - не создавайте много модулей.
Хост-мастерам
Мод находится в состоянии начальной разработки и тестирования, код не опубликован. В связи с этим установка на другие сервера возможна только на ваш страх и риск, без каких-либо гарантий. По всем вопросам обращаться к Спириту.
Об алгоритме работы кратко.
Мод работает в защищенной среде (песочнице), и его можно подключать к серверу и отключать от него сколько угодно раз. Он не повлияет на генерацию и прочие механики любого сервера. Зависимости - default. И т.к. он хочет получить доступ к внешним PHP скриптам - в конфигурации сервера мод нужно добавить в исключение:
- secure.trusted_mods = tutweb
- secure.http_mods = tutweb
Может использоваться как инструмент в качестве получения разного рода информации и документации, банковской системы, квестовой системы, памяти НПС, продвинутого хранилища и загрузки пользовательского контента на сервер в реальном времени.
Все данные, все что видно на экране, включая системные модули, модули регистрации и авторизации, сам "браузер" и редактор модулей хранятся во внешней СУБД, к которой доступ можно получать с любых серверов, и даже с локальных пользовательских устройств подключенных к Интернет (через PHP скрипты).
Весь интерфейс разворачивается в защищенной песочнице, при взаимодействии с этим интерфейсом, данные отсылаются в PHP, там обрабатываются и возвращаются в основной скрипт, откуда, по результатам обработки (например при переходе на другую страницу) вызывают группы модулей, которые подгружаются из БД в защищенную песочницу, которая на основании этих данных и формирует дальнейший скрипт для исполнения, загружает в виде LUA кода в виртуальную машину и выполняет его.
Новые страницы сайтов хранятся в таблице БД, загружаются в песочницу и запускаются.
С одной стороны PHP регламентирует получаемый код, с другой стороны - окружение самой песочницы. По этому, при программировании страниц нельзя использовать команды, которые могут повлиять на сервер, нет доступа к minetest. Или core.