Open Source RPG-гейм мод для open.mp (open multiplayer), написанный на Pawn.
Изначально разрабатывался для SA:MP, сейчас полностью переведён на open.mp через слой совместимости SAMP_COMPAT.
Весь гейммод компилируется в один
flame.amxиз единственной точки входа —sources/flame.pwn. Подробное техническое описание архитектуры и систем: sources/ARCHITECTURE.md.
Игровой процесс построен вокруг классической RPG-механики (San Fierro как основная карта):
- Авторизация — регистрация/вход, выбор скина при регистрации, ограничение попыток входа.
- Аккаунт и сохранения — деньги, банк, RP-уровень/опыт, статистика (kills/deaths), настройки чата.
- Инвентарь — предметы, использование, выброс, отображение (textdraw-UI).
- Банк — счёт, переводы, проценты по вкладу, история транзакций.
- Документы и лицензии — ID-карта, водительские права, паспорт/документы.
- Квесты и RP-рейтинг — прогрессия персонажа.
- Смартфон (iPhone) — интерфейс телефона, SMS с историей, обои, часы, вызов транспорта.
- Спавн и смерть — система возрождения и обработка смерти.
Крупная подсистема (sources/vehicles/):
- владение и покупка (автосалон / shop), ключи, каршеринг (sharing);
- топливо и двигатель, налог, номерные знаки, покраска/компоненты, гараж;
- спидометр и статистика транспорта.
- Автобусные остановки, пикапы (входы/выходы интерьеров), погода.
- Работа (job Horizon / Cell Fixer).
- Актёры (NPC), NPC-поезда (filterscript + записи маршрутов).
- Большой набор статичных объектов/интерьеров: банк, госпиталь, полиция (PD), DMV, аэропорт, правительство, апартаменты, бизнесы (бар, кафе, магазин одежды) и др.
Спидометр, инвентарь, iPhone, загрузочный экран, логотип, автосалон, выбор скина, таймер автобуса, инфо-панели.
~287 команд, сгруппированных по темам (sources/commands/):
- chat — RP-чат:
/me,/do,/s,/w,/b,/pm,/shoutи т.д.; - anim — большая библиотека анимаций;
- main — утилиты, role-play и админ-команды;
- fraction, pame — фракции и доп. механики.
| Слой | Что используется |
|---|---|
| Платформа | open.mp (open multiplayer), запуск через omp-server.exe |
| Язык | Pawn (SAMP_COMPAT + #include <open.mp>) |
| Библиотеки/инклюды | YSI (y_hooks, y_iterate), izcmd, sscanf2, streamer, a_mysql, rustext |
Плагины (plugins/) |
crashdetect, jit, streamer (Incognito), sscanf, mysql, pawn-memory, rustext |
Компоненты (components/) |
нативные подсистемы open.mp: Actors, Vehicles, Objects, TextDraws, Pickups, Dialogs и др. |
| База данных | MySQL, база flame (схема — database/flame.sql) |
Компиляция под Windows:
compile.batСкрипт вызывает qawno\pawncc.exe для sources\flame.pwn и переносит собранный flame.amx в gamemodes\.
Отдельного шага линтинга/тестов нет — «сборка прошла» означает, что компилятор Pawn создал flame.amx без новых ошибок.
- Установите MySQL и импортируйте схему:
mysql -u root -p flame < database/flame.sql - Укажите параметры подключения к БД в
sources/core/mysql.inc(MYSQL_HOST/MYSQL_USER/MYSQL_PASS/MYSQL_BASE) и пересоберите гейммод. - Задайте свой RCON-пароль в
config.json(rcon.password) — по умолчанию он пустой. - Запустите сервер:
omp-server.exe(Windows). Конфигурация читается изconfig.json(заменяет старыйserver.cfg;qawnoзаменяет старыйpawno).
⚠️ Перед публичным запуском обязательно задайте RCON-пароль и реальные учётные данные MySQL — в репозитории они намеренно пустые/дефолтные (localhost / root / без пароля) и не подходят для продакшена.
Сборка автоматизирована через .github/workflows/build.yml:
- На каждый push в
main/ pull request — геймод компилируется наwindows-latest(проверка, чтоflame.amxсобирается), готовый сервер пакуется в.zipи загружается как artifact прогона (вкладка Actions → конкретный run → Artifacts). - На пуш тега
v*(напримерv1.0.0) — дополнительно создаётся GitHub Release, к которому прикрепляется.zipсо сборкой.
Выпустить релиз:
git tag v1.0.0
git push origin v1.0.0Собранный .zip содержит готовый к запуску Windows-сервер (omp-server.exe, gamemodes/flame.amx,
компоненты, плагины, config.json, схему БД) без dev-инструментов (qawno/, исходников, .pdb).
Linux-сборку планируется добавить отдельной job'ой (см. Roadmap).
flameproject/
├── sources/ # исходный код гейммода (Pawn)
│ ├── flame.pwn # точка входа
│ ├── ARCHITECTURE.md # подробное описание систем и архитектуры
│ ├── core/ # ядро: MySQL-хелперы, цвета, диалоги, зоны, таймеры, утилиты
│ ├── player/ # авторизация, аккаунт, инвентарь, банк, документы, телефон, админка
│ ├── vehicles/ # транспортная подсистема
│ ├── textdraws/ # UI (textdraws)
│ ├── objects/ # статичные объекты/интерьеры по локациям
│ ├── systems/ # остановки, пикапы, погода, работы
│ └── commands/ # чат-команды по темам
├── config.json # конфигурация open.mp-сервера
├── database/flame.sql # схема базы данных
├── components/ # нативные компоненты open.mp (.dll)
├── plugins/ # legacy-плагины Pawn (.dll)
├── qawno/ # компилятор Pawn и инклюды
├── filterscripts/ # filterscripts (NPC-поезда)
├── npcmodes/ # записи маршрутов NPC
└── scriptfiles/ # runtime-данные сервера
Исходные файлы с русским текстом сохранены в Windows-1251 (cp1251), MySQL также настроен на cp1251.
Русский текст может отображаться как «кракозябры» в UTF-8-инструментах — это ожидаемо.
Не перекодируйте .inc/.pwn файлы в UTF-8 — это необратимо повредит кириллицу.
Подробности и безопасные способы правки — в CLAUDE.md.
Проект активно развивается — это не заброшенный дамп кода, а живая база, которую планируется расширять. Ближайшие направления:
- Игровые системы — улучшать и дописывать существующие механики, добавлять новые.
- Документация — сайт на GitHub Pages: alexdedyura.github.io/flameproject (исходники — в
website/, сборка на Docusaurus). - CI/CD (Windows) — сборка
.zipи публикация в Releases через GitHub Actions (build.yml). - CI/CD (Linux) — добавить Linux-сборку сервера отдельной job'ой.
- flamelibrary — вынести базовую логику в отдельный фреймворк/библиотеку для переиспользования.
Идеи и предложения приветствуются — открывайте issue или обсуждение.
Пулл-реквесты приветствуются! 🔥 Проект открыт для развития сообществом.
- Перед крупными изменениями желательно открыть issue и обсудить идею.
- Сохраняйте модульную структуру: новую логику — в ближайший тематический модуль внутри
sources/. - Команды добавляйте через
izcmd(CMD:name(playerid, params[])), callbacks расширяйте черезy_hooks, работу с БД ведите через хелперы изsources/core/mysql.inc. - Соблюдайте кодировку cp1251 для
.inc/.pwnс кириллицей (см. раздел выше иCLAUDE.md). - Убедитесь, что геймод компилируется (
compile.bat) без новых ошибок/варнингов.
Подробные гайды для контрибьюторов и AI-ассистентов: CLAUDE.md и sources/ARCHITECTURE.md.
Автор: Alex Dedyura.
Проект распространяется под лицензией GNU General Public License v3.0 — полный текст в файле LICENSE.
Flame Project — Open Source RPG gamemode for open.mp
Copyright (C) 2026 Alex Dedyura
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.