Разработчик
Проверенный
Участник
Пользователь
- Сообщения
- 207
- Реакции
- 420
- Помог
- 10 раз(а)
Компиляция, установка плагинов
Установка плагинов
Для начала, разберём возможные файлы, которые могут лежать в архиве, и их возможное расположение. Они могут лежать как уже разложенными по папкам, так и просто в одной куче (без сортировки).
Красным оттенком отмечены виды файлов, которые нужны только на стадии компиляции. Голубым - те, которые нужны для работы. Фиолетовым - те, которые нужны для работы, но необязательно (зависит от самого плагина).
- .sp - Файл исходного кода плагина. Плагин может состоять как из одного такого файла, так и из нескольких, разложенных по папкам.
Расположение:/addons/sourcemod/scripting/
- .inc - Файл, описывающий для компилятора, какие функции могут быть у плагина/используются им. Как правило, используется только для предоставления API (Application Programming Interface, описание взаимодействия) плагина, к которому относится. Этот вид файлов может не присутствовать!
Расположение:/addons/sourcemod/scripting/include/
- .smx - Бинарный файл плагина после компиляции. Именно он загружается в память SourceMod'ом и исполняется.
Расположение:/addons/sourcemod/plugins/
- .phrases.txt - Файл с переводом основных фраз плагина на другие языки.
Расположение:/addons/sourcemod/translations/
- .cfg - Конфигурационный файл плагина. Может генерироваться, и располагаться по пути
/cfg/sourcemod/
.
Расположение: неопределено, зависит от плагина. - .txt - Может использоваться как:
- Конфигурационный файл плагина. Расположение: неопределено, зависит от плагина.
- Файл с переводом основных фраз плагина на другие языки. Расположение:
/addons/sourcemod/translations/
- Игровые метаданные (gamedata). Расположение:
/addons/sourcemod/gamedata/
- .ini - Конфигурационный файл.
Расположение: неопределено, зависит от плагина.
Для установки плагина, как правило, необходимо разложить все файлы плагина по указанным папкам выше. Если у плагина есть инструкция по установке - рекомендуется следовать ей.
После загрузки всех файлов плагина, необходимо произвести загрузку его в память сервера. Сделать это можно несколькими способами (все производятся через консоль сервера или RCON):
- Перезагрузить сервер:
_restart
. Все игроки будут отключены! - Сменить карту на любую другую:
changelevel %MAPNAME%
илиsm_map %MAPNAME%
. - Выполнить загрузку файла плагина вручную:
sm plugins load %PLUGIN_PATH%
, где%PLUGIN_PATH%
- полный путь к файлу плагина от корневой папки с плагинами (/addons/sourcemod/plugins/
).
Например, если Вы поместили плагин в папку/addons/sourcemod/plugins/Shop
, и назвали егоCore.smx
, то Вам необходимо выполнить следующую команду:sm plugins load Shop/Core.smx
. Расширение файла можно опустить (не писать), если в имени файла нет точек. - Выполнить перезагрузку кеша загруженных плагинов:
sm plugins refresh
.
sm plugins list
:У SourceMod есть несколько команд для управления плагинов. Все они начинаются с
sm plugins
. Рассмотрим их поподробнее:info %PLUGIN%
- Выводит информацию о плагине (состояние, имя, автор, адрес сайта (если есть), версия, вычисленный хеш, дата компиляции).list
- Выводит перечень всех загруженных плагинов.load %FILE%
- Загружает указанный плагин в память.load_lock
- Блокирует возможность загружать плагины.load_unlock
- Снимает блокировку с возможности загружать плагины.refresh
- Перезагружает все обновлённые плагины, загружает новые.reload %PLUGIN%
- Перезагружает указанный плагин.unload %PLUGIN%
- Выгружает указанный плагин.unload_all
- Выгружает все плагины.
%PLUGIN%
- Полный путь к файлу или числовой идентификатор плагина в списке.%FILE%
- Полный путь к файлу.Компиляция плагинов
Если Вам необходимо просмотреть/отредактировать исходник плагина, необходимо использовать редактор с поддержкой кодировки UTF-8 без BOM.
Например, Notepad++, KDE Advanced Text Editor, Akelpad.
Например, Notepad++, KDE Advanced Text Editor, Akelpad.
Нет разницы, на какой ОС компилировать плагины. Если Ваш сервер работает на Linux, то плагины, скомпилированные на Windows / MacOS, там так же будут работать!
Скачайте SourceMod для Вашей платформы на компьютере, где Вы собираетесь компилировать плагины, после чего распакуйте из архива папку
addons/sourcemod/scripting
. Остальные папки Вам не нужны для компиляции. Компилятор не рекомендуется так же размещать в папке, путь к которой содержит кириллические (русские) символы!Переместите все исходные файлы (
.sp
, .inc
) из архива плагина в полученную папку. После чего,- Windows: Переместите основной файл исходника плагина (
.sp
) на файл компилятора (compile.exe
). - Linux/MacOS: Откройте командный интерпретатор, выполните команду (после перехода в папку с компилятором):
./compile.sh %PLUGIN%
.
Во время стадии компиляции, компилятор может сгенерировать ошибки/предупреждения. В случае с ошибками, он откажется компилировать; в случае с предупреждениями, он выдаст строки, в которых "сомневается", но плагин всё равно скомпилирует.
После компиляции, скомпилированный файл можно будет забрать из папки
compiled
.