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

Установка#

amxpy состоит из двух частей: модуля AMX Mod X на сервере и Python-пакета на вашей машине, которым вы пишете, проверяете и ставите плагины.

Что нужно серверу#

Компонент Зачем
Linux, 32-битный HLDS или ReHLDS на нём запускается всё остальное
Metamod-R или Metamod загружает AMX Mod X
AMX Mod X 1.9 или новее загружает модуль amxpy
ReGameDLL игровые события: спавн, урон, раунды, покупки, бомба

Без ReGameDLL работают плагины, команды, чат, меню, HUD и события подключения, но не игровые события. Смена ника требует API ReGameDLL 5.3+, гранаты и бомба — 5.5+.

Модуль на сервер#

  1. Скачайте amxpy-<версия>-linux-i386.tar.gz со страницы последнего релиза. В архиве — модуль, CPython 3.14 и amxpy; серверу нужен Linux с glibc 2.31 или новее (Debian 11+, Ubuntu 20.04+). Собрать архив самому — раздел «Сборка из исходников» README.
  2. Распакуйте архив в папку мода:

    tar -xzf amxpy-0.1.0-linux-i386.tar.gz -C /путь/к/cstrike
    
  3. Добавьте строку amxpy в cstrike/addons/amxmodx/configs/modules.ini.

  4. Перезапустите сервер и проверьте в консоли:

    amxpy version
    

Плагины лежат в cstrike/addons/amxpy/plugins/ (пакеты .amxpy), а их список — в cstrike/addons/amxpy/plugins.ini. Руками туда ничего класть не нужно: это делает amxpy deploy.

Сервер в Docker

Для контейнера шаги 2–4 выполняет scripts/deploy-docker.sh <контейнер> <путь к cstrike>. Исходный modules.ini он сохраняет в build/deploy-backup/.

Пакет для разработки#

Нужен Python 3.14: байткод плагинов привязан к версии CPython, а на сервере работает именно 3.14.

python3.14 -m venv .venv
source .venv/bin/activate
pip install "amxpy[dev] @ git+https://github.com/KotyaraKryt/amxpy@v0.1.0"
amxpy --help

[dev] добавляет pytest и flake8. Ставьте ту же версию, что и модуль на сервере.

Из исходников amxpy

Если вы правите сам amxpy, ставьте его из клона в режиме compat — иначе Pylance не увидит пакет: pip install -e '/путь/к/amxpy[dev]' --config-settings editable_mode=compat. Если забыли, amxpy init это заметит и напишет команду.

Окружение — внутри проекта

Создавайте .venv в папке проекта: тогда amxpy init пропишет интерпретатор как ${workspaceFolder}/.venv/..., и настройки VS Code будут работать на любой машине.

Вместе с пакетом ставятся:

  • утилита amxpy — проект, сборка, установка на сервер и RCON (команды);
  • компилятор amxpyc — проверяет плагин до запуска (диагностики);
  • amxpy.testing и фикстура pytest server — сервер в памяти для тестов (тестирование).

Дальше — первый плагин.