Перейти к содержанию

TutWeb: различия между версиями

Материал из Luanti НашиТут
Строка 19: Строка 19:
** Из меню PDA выберите пункт РЕДАКТОР
** Из меню PDA выберите пункт РЕДАКТОР
** А потом чистое шаманство...  
** А потом чистое шаманство...  
*** кнопка с значком "двух книжек" (слева) создаёт файлы, для этого надо написать полное имя файла, напрмер, пользователь:модкль.form, где пользователь - это ваше имя при регистрации в TutWeb, а модуль - имя модуля
*** кнопка с значком "двух книжек" (слева) создаёт файлы, для этого надо написать полное имя файла, напрмер, пользователь:модуль.form, где пользователь - это ваше имя при регистрации в TutWeb, а модуль - имя модуля
*** вы перейдёте в режим редактора, а значок "двух книжек" изменится на "дискету"
*** вы перейдёте в режим редактора, а значок "двух книжек" изменится на "дискету"
*** после ввода содержимого файла для сохранения нажмите "дискету" (слева) - не забывайте сохранять...
*** после ввода содержимого файла для сохранения нажмите "дискету" (слева) - не забывайте сохранять...

Версия от 16:53, 22 января 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.