Статьи
Справочные материалы о технологиях, на которых сделаны мои проекты.
- MoonLoader и Lua-скрипты для GTA: San AndreasЧто такое MoonLoader, как работают Lua-скрипты для GTA: San Andreas и SA:MP, чем они отличаются от CLEO, какие библиотеки используются и с чего начать разработку.
- ImGui в GTA: San Andreas – интерфейсы для Lua-скриптовКак устроены оконные интерфейсы в скриптах MoonLoader: что такое Dear ImGui и mimgui, как выглядит код окна, зачем нужен визуальный редактор ImGUI Editor.
- Как запустить SA:MP на LinuxГайд по запуску GTA: San Andreas с SAMP 0.3.7, CLEO, SAMPFUNCS и MoonLoader на Ubuntu через PlayOnLinux и Wine 3.2: подготовка системы, настройка Wine, частые проблемы со шрифтами.
- Как оформлять код на LuaПравила оформления Lua-кода для скриптов MoonLoader и open-source проектов: кавычки, snake_case, отступы, комментарии, таблицы, вызовы функций, DRY. По мотивам гайда LuaRocks.
- Как запустить сервер SL:MPКак поднять сервер SL:MP на Windows или Linux: требования к клиенту и серверу, поля server.cfg, открытие UDP-порта 7777 в файрволе и на роутере, подключение через лаунчер.
- SL:MP, SA:MP и MTA: в чём разницаСравнение трёх мультиплееров для GTA: San Andreas: на чём пишутся скрипты в SA:MP, MTA:SA и SL:MP, где работает код, что с исходниками и кому какой подойдёт. Таблица и разбор.
- UDP в Lua: LuaSocket на практикеКак работать с UDP в Lua через LuaSocket: неблокирующий сервер на LuaJIT, клиент для MoonLoader с wait(0), sendto и receivefrom, борьба с потерей и порядком пакетов. Примеры кода.
- Как установить MoonLoader и SAMPFUNCSУстановка MoonLoader и SAMPFUNCS для GTA: San Andreas и SA:MP 0.3.7-R1: что нужно скачать, куда положить файлы, как устроена папка moonloader и как проверить установку по логу.
- Биндер для SA:MP на Lua: команды и отыгровкиКак написать биндер для SA:MP на MoonLoader: чат-команда, несколько строк отыгровки с задержкой в lua_thread, теги $ID$, $NAME$, $ARGS$ через string.gsub и бинд на клавишу.
- Настройки скрипта в MoonLoader: inicfg и CP1251Как хранить настройки Lua-скрипта для SA:MP: inicfg.load и inicfg.save, значения по умолчанию, папка moonloader/config, кодировка CP1251 и библиотека encoding для чата и ImGui.
- Как развернуть Node.js-приложение: pm2 и nginxПошаговый деплой Node.js на Linux-сервер: установка Node, npm ci, запуск через pm2 с автозапуском, nginx как обратный прокси, trust proxy в Express, HTTPS через certbot и 301-редиректы.
- SEO для сайта на Express: что настроить на сервереSEO для Express на сервере: 301 на основной хост, слеш в URL, честный 404, ETag и Cache-Control, сжатие, canonical и hreflang, sitemap.xml, robots.txt, JSON-LD, llms.txt и IndexNow.