# Pakulichev

> Official website of Pakulichev (also known as ImPasha on BLAST.HK and Pavel_Garson in-game) – a developer of web services, game modifications and game servers; earlier work focused on GTA: San Andreas modding. Co-author of SL:MP (Simple Lua Multiplayer for GTA:SA), author of Police Tools (a multi-platform script for police factions, primarily Advance RP), ImGUI Editor (visual mimgui editor), SNET (UDP networking library for Lua) and tools for the BLAST.HK community, where Pakulichev served as a moderator.

- pakulichev.com is the official website. pakulichev.net, pakulichev.org and pakulichev.ru redirect here.
- Nicknames of the same person: Pakulichev, ImPasha (current BLAST.HK nickname, profile https://www.blast.hk/members/159390/), Pavel_Garson / Pavel Garson (old in-game nickname used in Police Tools).
- Pakulichev had an SA:MP developers group called KITTEN DEV TEAM; the cat logo of this site refers to it.
- Content is available in Russian (default, /) and English (/en). Every page has a Markdown version at the same URL + .md.

## Pages (English)

- [Pakulichev](https://pakulichev.com/en.md): Official site of Pakulichev (ImPasha): web services, game mods and servers. SL:MP Lua multiplayer for GTA: San Andreas, Police Tools for Advance RP, ImGUI Editor, SNET.
- [Projects](https://pakulichev.com/en/projects.md): All Pakulichev projects: the SL:MP Lua multiplayer for GTA: San Andreas, Police Tools for Advance RP, ImGUI Editor, the SNET library, a SA:MP web map, BlastPHP and more.
- [SL:MP – Simple Lua Multiplayer for GTA: San Andreas](https://pakulichev.com/en/projects/sl-mp.md): SL:MP (Simple Lua Multiplayer): an open-source Lua multiplayer for GTA: San Andreas on MoonLoader, no SA:MP needed. SL:NET protocol, LuaJIT server, 2020–2021 releases.
- [BLAST.HK: moderation, projects and community](https://pakulichev.com/en/blasthk.md): Pakulichev (now ImPasha) on BLAST.HK since 2017: global moderator, 40+ threads with source code and guides, 60 solutions, sponsor of The SA:MP Coder 2023.
- [Police Tools – a helper for Advance RP police factions](https://pakulichev.com/en/projects/police-tools.md): Police Tools: a free Lua helper for SA:MP police factions on Advance RP – key binder, RP actions, police database, ImGui UI. Since 2017, plus Lite and a police radar.
- [About me](https://pakulichev.com/en/about.md): Pakulichev (ImPasha, Pavel_Garson): a first Lua script for Advance RP in 2017, the SL:MP multiplayer, BLAST.HK moderation and a move to Node.js web development.
- [ImGUI Editor – a visual editor for mimgui interfaces](https://pakulichev.com/en/projects/imgui-editor.md): ImGUI Editor (LuaJIT ImGUI Editor): an open-source visual Dear ImGui editor for MoonLoader Lua scripts – drag elements with the mouse, export mimgui code. Released 2020.
- [SNET – a networking interface for Lua over UDP](https://pakulichev.com/en/projects/snet.md): SNET (Networking Interface): a Lua networking module on LuaSocket over UDP with delivery acks, packet priorities and no client limit. LuaJIT and MoonLoader; born from SL:MP.
- [Live SA:MP map in the browser](https://pakulichev.com/en/projects/samp-web-map.md): A live SA:MP web map: a Lua script sends positions from the game, a PHP, Node.js or FastAPI server stores them, and an HTML/JS client shows players on the San Andreas map.
- [BlastPHP – a PHP library for BLAST.HK](https://pakulichev.com/en/projects/blastphp.md): BlastPHP: a PHP library for automating the BLAST.HK forum – sign-in, posting to threads and profile walls, fetching avatars. Powered the @Pakulichev BOT. Published in 2021.
- [Speeder: a police radar for SA:MP](https://pakulichev.com/en/projects/police-radar.md): Speeder is a free SAMP police radar for MoonLoader: speed of the car ahead, driver nick and ID, distance. Command /speeder, three versions in 2019.
- [Police Tools Lite – an open-source key binder for SA:MP](https://pakulichev.com/en/projects/police-tools-lite.md): Police Tools Lite: an open-source SAMP key binder on mimgui and LuaJIT FFI, GPL v3. Binds with custom commands, $ID$, $NAME$, $ARGS$, $SLEEP$ tags, /plite window. 2020.
- [Simple Language – SA:MP scripts in Russian](https://pakulichev.com/en/projects/simple-language.md): Simple Language: a pseudo-language interpreter with Russian commands on top of Lua and MoonLoader for SA:MP. .smp scripts, SimpleCore engine, open source. Released in 2019.
- [Articles](https://pakulichev.com/en/wiki.md): Articles on GTA: San Andreas and SA:MP modding: MoonLoader and Lua scripts, ImGui interfaces, Lua code style and running SA:MP on Linux via Wine.
- [MoonLoader and Lua scripting for GTA: San Andreas](https://pakulichev.com/en/wiki/moonloader-lua-gta-sa.md): What MoonLoader is, how Lua scripts for GTA: San Andreas and SA:MP work, how they differ from CLEO, which libraries are used and how to get started.
- [ImGui in GTA: San Andreas – interfaces for Lua scripts](https://pakulichev.com/en/wiki/imgui-for-gta-sa.md): How windowed interfaces in MoonLoader scripts work: what Dear ImGui and mimgui are, what window code looks like, and why a visual editor like ImGUI Editor helps.
- [How to run SA:MP on Linux](https://pakulichev.com/en/wiki/samp-linux.md): How to run GTA: San Andreas with SAMP 0.3.7, CLEO, SAMPFUNCS and MoonLoader on Ubuntu via PlayOnLinux and Wine 3.2: system setup, Wine settings, common font issues.
- [How to format Lua code](https://pakulichev.com/en/wiki/lua-code-style.md): A Lua style guide for MoonLoader scripts and open-source projects: quotes, snake_case, indentation, comments, tables, function calls, DRY. Based on the LuaRocks guide.
- [How to run an SL:MP server](https://pakulichev.com/en/wiki/slmp-server.md): Setting up an SL:MP server on Windows or Linux: client and server requirements, the server.cfg fields, opening UDP port 7777 in the firewall and router, and connecting via the launcher.
- [Frequently asked questions](https://pakulichev.com/en/faq.md): Common questions: who Pakulichev is, what SL:MP, Police Tools, ImGUI Editor and SNET are, where to download them, using the scripts on SA:MP servers and script orders.
- [SL:MP vs SA:MP vs MTA: what's the difference](https://pakulichev.com/en/wiki/slmp-samp-mta.md): Comparing three GTA: San Andreas multiplayers: which scripting languages SA:MP, MTA:SA and SL:MP use, where the code runs, source availability and who each one suits. Table and breakdown.
- [UDP in Lua with LuaSocket](https://pakulichev.com/en/wiki/luasocket-udp.md): Working with UDP in Lua via LuaSocket: a non-blocking LuaJIT server, a MoonLoader client with wait(0), sendto and receivefrom, and handling packet loss and ordering. Code examples.
- [How to install MoonLoader and SAMPFUNCS](https://pakulichev.com/en/wiki/moonloader-install.md): Installing MoonLoader and SAMPFUNCS for GTA: San Andreas and SA:MP 0.3.7-R1: what to download, where the files go, how the moonloader folder is laid out and how to check the log.
- [A SA:MP key binder in Lua: chat commands and RP lines](https://pakulichev.com/en/wiki/lua-binder.md): How to write a SA:MP binder on MoonLoader: a chat command, several RP lines with delays in lua_thread, $ID$, $NAME$ and $ARGS$ tags with string.gsub, and a key bind.
- [Script settings in MoonLoader: inicfg and CP1251](https://pakulichev.com/en/wiki/moonloader-config.md): How to store Lua script settings for SA:MP: inicfg.load and inicfg.save, default values, the moonloader/config folder, CP1251 encoding and the encoding library for chat and ImGui.
- [Contacts](https://pakulichev.com/en/contacts.md): Official contacts of Pakulichev: the pakulichev.com website (the .net, .org and .ru addresses lead here) and the BLAST.HK profile – ImPasha, blast.hk/members/159390.
- [Deploying a Node.js app with pm2 and nginx](https://pakulichev.com/en/wiki/nodejs-pm2-nginx.md): Step-by-step Node.js deployment on a Linux server: installing Node, npm ci, running under pm2 with autostart, nginx as a reverse proxy, Express trust proxy, certbot HTTPS and 301 redirects.
- [SEO for an Express site: server-side checklist](https://pakulichev.com/en/wiki/express-seo.md): Server-side SEO for Express: canonical host, trailing slash, real 404, ETag and Cache-Control, compression, canonical and hreflang, sitemap.xml, robots.txt, JSON-LD, llms.txt, IndexNow.

## Страницы (русский)

- [Pakulichev](https://pakulichev.com/index.md): Сайт Pakulichev (ImPasha): веб-сервисы, игровые моды и серверы. SL:MP – мультиплеер для GTA: San Andreas на Lua, Police Tools для Advance RP, ImGUI Editor, SNET, BLAST.HK.
- [Проекты](https://pakulichev.com/projects.md): Все проекты Pakulichev: мультиплеер SL:MP для GTA: San Andreas на Lua, Police Tools для Advance RP, ImGUI Editor, сетевая библиотека SNET, веб-карта SA:MP, BlastPHP и другие скрипты и сервисы.
- [SL:MP – Simple Lua Multiplayer для GTA: San Andreas](https://pakulichev.com/projects/sl-mp.md): SL:MP (Simple Lua Multiplayer) – открытый мультиплеер для GTA: San Andreas на Lua и MoonLoader без SA:MP. История, возможности, протокол SL:NET, сервер на LuaJIT для Windows и Linux, релизы 2020–2021.
- [BLAST.HK: модерация, проекты и сообщество](https://pakulichev.com/blasthk.md): Pakulichev (сейчас ImPasha) на форуме BLAST.HK с 2017 года: всефорумный модератор, 40+ тем с исходниками и гайдами, 60 решённых вопросов, спонсор конкурса The SA:MP Coder 2023.
- [Police Tools – помощник для полицейских фракций Advance RP](https://pakulichev.com/projects/police-tools.md): Police Tools – бесплатный Lua-скрипт для полицейских фракций SA:MP, прежде всего Advance RP: биндер, отыгровки, база МВД, ImGui-интерфейс. С 2017 года, есть Lite-версия и полицейский радар.
- [Обо мне](https://pakulichev.com/about.md): Pakulichev (ImPasha, Pavel_Garson) о себе: первый Lua-скрипт для Advance RP в 2017 году, мультиплеер SL:MP, модерация BLAST.HK и переход в веб-разработку на Node.js.
- [ImGUI Editor – визуальный редактор mimgui-интерфейсов](https://pakulichev.com/projects/imgui-editor.md): ImGUI Editor (LuaJIT ImGUI Editor) – открытый визуальный редактор Dear ImGui для Lua-скриптов MoonLoader: элементы ставятся мышью, на выходе готовый код mimgui. Вышел в 2020 году.
- [SNET – сетевой интерфейс для Lua поверх UDP](https://pakulichev.com/projects/snet.md): SNET (Networking Interface) – сетевой модуль для Lua на LuaSocket поверх UDP: подтверждение доставки, приоритеты пакетов, без лимита клиентов. LuaJIT и MoonLoader; вырос из SL:MP.
- [Динамическая карта SA:MP в браузере](https://pakulichev.com/projects/samp-web-map.md): Динамическая веб-карта SA:MP: Lua-скрипт шлёт позиции из игры, сервер на PHP, Node.js или Python FastAPI их хранит, а веб-клиент показывает игроков на карте San Andreas в реальном времени.
- [BlastPHP – PHP-библиотека для BLAST.HK](https://pakulichev.com/projects/blastphp.md): BlastPHP – PHP-библиотека для автоматизации форума BLAST.HK: авторизация, публикация сообщений в темы и на стену, получение аватаров. На ней работал бот @Pakulichev BOT. Опубликована в 2021 году.
- [Полицейский радар Speeder для SA:MP](https://pakulichev.com/projects/police-radar.md): Speeder – бесплатный полицейский радар для SAMP на MoonLoader: скорость машины впереди, ник и ID водителя, дистанция. Команда /speeder, три версии в 2019 году.
- [Police Tools Lite – открытый биндер для SA:MP](https://pakulichev.com/projects/police-tools-lite.md): Police Tools Lite – биндер с открытым кодом для SAMP на mimgui и LuaJIT FFI под лицензией GPL v3: бинды со своими командами, теги $ID$, $NAME$, $ARGS$, $SLEEP$, окно /plite. 2020 год.
- [Simple Language – скрипты для SA:MP на русском языке](https://pakulichev.com/projects/simple-language.md): Simple Language – интерпретатор псевдоязыка с русскими командами поверх Lua и MoonLoader для SA:MP. Скрипты .smp в папке simple, ядро SimpleCore, открытый код. Опубликован в 2019 году.
- [Статьи](https://pakulichev.com/wiki.md): Статьи о моддинге GTA: San Andreas и SA:MP: MoonLoader и Lua-скрипты, интерфейсы на ImGui, оформление кода на Lua, запуск SA:MP на Linux через Wine.
- [MoonLoader и Lua-скрипты для GTA: San Andreas](https://pakulichev.com/wiki/moonloader-lua-gta-sa.md): Что такое MoonLoader, как работают Lua-скрипты для GTA: San Andreas и SA:MP, чем они отличаются от CLEO, какие библиотеки используются и с чего начать разработку.
- [ImGui в GTA: San Andreas – интерфейсы для Lua-скриптов](https://pakulichev.com/wiki/imgui-for-gta-sa.md): Как устроены оконные интерфейсы в скриптах MoonLoader: что такое Dear ImGui и mimgui, как выглядит код окна, зачем нужен визуальный редактор ImGUI Editor.
- [Как запустить SA:MP на Linux](https://pakulichev.com/wiki/samp-linux.md): Гайд по запуску GTA: San Andreas с SAMP 0.3.7, CLEO, SAMPFUNCS и MoonLoader на Ubuntu через PlayOnLinux и Wine 3.2: подготовка системы, настройка Wine, частые проблемы со шрифтами.
- [Как оформлять код на Lua](https://pakulichev.com/wiki/lua-code-style.md): Правила оформления Lua-кода для скриптов MoonLoader и open-source проектов: кавычки, snake_case, отступы, комментарии, таблицы, вызовы функций, DRY. По мотивам гайда LuaRocks.
- [Как запустить сервер SL:MP](https://pakulichev.com/wiki/slmp-server.md): Как поднять сервер SL:MP на Windows или Linux: требования к клиенту и серверу, поля server.cfg, открытие UDP-порта 7777 в файрволе и на роутере, подключение через лаунчер.
- [Частые вопросы](https://pakulichev.com/faq.md): Ответы на частые вопросы: кто такой Pakulichev, что такое SL:MP, Police Tools, ImGUI Editor и SNET, где скачать, можно ли использовать скрипты на серверах SA:MP, принимаются ли заказы.
- [SL:MP, SA:MP и MTA: в чём разница](https://pakulichev.com/wiki/slmp-samp-mta.md): Сравнение трёх мультиплееров для GTA: San Andreas: на чём пишутся скрипты в SA:MP, MTA:SA и SL:MP, где работает код, что с исходниками и кому какой подойдёт. Таблица и разбор.
- [UDP в Lua: LuaSocket на практике](https://pakulichev.com/wiki/luasocket-udp.md): Как работать с UDP в Lua через LuaSocket: неблокирующий сервер на LuaJIT, клиент для MoonLoader с wait(0), sendto и receivefrom, борьба с потерей и порядком пакетов. Примеры кода.
- [Как установить MoonLoader и SAMPFUNCS](https://pakulichev.com/wiki/moonloader-install.md): Установка MoonLoader и SAMPFUNCS для GTA: San Andreas и SA:MP 0.3.7-R1: что нужно скачать, куда положить файлы, как устроена папка moonloader и как проверить установку по логу.
- [Биндер для SA:MP на Lua: команды и отыгровки](https://pakulichev.com/wiki/lua-binder.md): Как написать биндер для SA:MP на MoonLoader: чат-команда, несколько строк отыгровки с задержкой в lua_thread, теги $ID$, $NAME$, $ARGS$ через string.gsub и бинд на клавишу.
- [Настройки скрипта в MoonLoader: inicfg и CP1251](https://pakulichev.com/wiki/moonloader-config.md): Как хранить настройки Lua-скрипта для SA:MP: inicfg.load и inicfg.save, значения по умолчанию, папка moonloader/config, кодировка CP1251 и библиотека encoding для чата и ImGui.
- [Контакты](https://pakulichev.com/contacts.md): Официальные контакты Pakulichev: сайт pakulichev.com (адреса .net, .org и .ru ведут сюда) и профиль на BLAST.HK – ImPasha, blast.hk/members/159390.
- [Как развернуть Node.js-приложение: pm2 и nginx](https://pakulichev.com/wiki/nodejs-pm2-nginx.md): Пошаговый деплой Node.js на Linux-сервер: установка Node, npm ci, запуск через pm2 с автозапуском, nginx как обратный прокси, trust proxy в Express, HTTPS через certbot и 301-редиректы.
- [SEO для сайта на Express: что настроить на сервере](https://pakulichev.com/wiki/express-seo.md): SEO для Express на сервере: 301 на основной хост, слеш в URL, честный 404, ETag и Cache-Control, сжатие, canonical и hreflang, sitemap.xml, robots.txt, JSON-LD, llms.txt и IndexNow.

## Optional

- [Full text of the whole site](https://pakulichev.com/llms-full.txt): all pages in one Markdown file
- [Machine-readable profile](https://pakulichev.com/profile.json): JSON with identity, projects and official links
