Пользователький код механик ММО игры на LUA





Мы не будем останавливаться в этом руководстве на описании синтаксиса языка, а остановимся на необходимых данных и примерах (хорошая статья по изучению Lua за 15 минут).
Lua код можно добавить в следующих случаях:. 

Условимся о следующем:

  • Используется версия Lua 5.1
  • таблицы в Lua - это массив / объект в других языках
  • nil в Lua это null в других языках
Запрещены следующие функции LUA из соображения безопасности:

  • dofile()loadfile() и пакет io
  • package, включая require() и module()
  • load() и loadstring()
  • os кроме os.clock()os.date()os.difftime() и os.time()
  • debug кроме debug.traceback()
  • string.dump

Изменены следующие функции
  • print(text) в LUA теперь сбрасывает информацию в лог доступный в раздел Сервера
  • pcall() и xpcall() не может отловить определённые ошибки, особенно ошибки времени ожидания.
  • tostring() не включает адреса указателей.
  • string.match() была исправлена для ограничения глубины рекурсии и периодической проверки времени ожидания.
  • math.random() и math.randomseed() заменяются версиями, которые не разделяют состояние
  • __pairsи __ipairs bo LUA 5.2 - поддерживаются
  • поддерживается реализация мета тега __next (если он указан для таблицы - используется он для цикла как и тег __pairs)

Добавлены следующие глобальные функции
  • error(text) - сбрасывает в лог ошибки (доступен в разделе Сервера) с трассировкой в каком месте кода LUA вызван 
  • microtime() - для более точного получения UnixTimestamp времени секунд с микросекундами (4й знак после точки)
  • keys(table) - возвращает таблицу ключей таблицы
  • split(string, separator) - возвращает таблицу элементами являются части строки разбитые по разделителю 






Что нового?


Статьи про разработку продукта

PHP, Разработка игр, Unity, Unreal Engine, Облачные сервисы, php, unity, mmo, mmorpg, сервер для игры

С 2021 года я начал делать свою MMO игру обнаружив что нет готовых сервисов ни в России, ни за рубежом. Но сделать игру я мечтал со времен «Бойцовского клуба» и текстового «Амулета дракона», вдобавок уже был неплохим программистом.

Так и родилась идея написать свое решение Авторитарного сервера для 2D Mmo RPG игр и, как говорил Илон Маск, «Батут работает».

Читать далее
ч.15 Игровой авторитарный сервер на процессах и его архитектура в картинках — Создание сервера для онлайн ММО игр на PHP
PHP, Программирование, Разработка игр, Unity, Unreal Engine, php, игровой сервер, разработка сервисов, онлайн-игры, разработка онлайн-игр
Создание сервера для онлайн ММО игр на PHP ч.14 — Сетевая карта и задержка кадра (Latency frame) по RFC 2544 (1242)
PHP, Проектирование и рефакторинг, Разработка игр, Сетевые технологии, Параллельное программирование, php, go, c#, онлан игры
Создание сервера для онлайн ММО игр на PHP ч.13 — Event-driven паттерн, JSON-RPC и почему не сервисная (SOA) архитектура
PHP, Программирование, Проектирование и рефакторинг, Разработка игр, Алгоритмы, php, event-driven, разработка игр, mmo, mmorpg, шаблон проектирования

Кабинет

Игры