[Инструкция] Компиляция, установка плагинов

Сообщения
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:
16711

У 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.

Нет разницы, на какой ОС компилировать плагины. Если Ваш сервер работает на Linux, то плагины, скомпилированные на Windows / MacOS, там так же будут работать!

Скачайте SourceMod для Вашей платформы на компьютере, где Вы собираетесь компилировать плагины, после чего распакуйте из архива папку addons/sourcemod/scripting. Остальные папки Вам не нужны для компиляции. Компилятор не рекомендуется так же размещать в папке, путь к которой содержит кириллические (русские) символы!
Переместите все исходные файлы (.sp, .inc) из архива плагина в полученную папку. После чего,
  • Windows: Переместите основной файл исходника плагина (.sp) на файл компилятора (compile.exe).
  • Linux/MacOS: Откройте командный интерпретатор, выполните команду (после перехода в папку с компилятором): ./compile.sh %PLUGIN%.
Появится окно с результатами. Если всё хорошо, окно будет выглядеть как-то так:
16712

Во время стадии компиляции, компилятор может сгенерировать ошибки/предупреждения. В случае с ошибками, он откажется компилировать; в случае с предупреждениями, он выдаст строки, в которых "сомневается", но плагин всё равно скомпилирует.
После компиляции, скомпилированный файл можно будет забрать из папки compiled.
 
Сообщения
15
Реакции
1
Полезная статья.
Новичкам в этом деле отличная новость.
 
Сообщения
44
Реакции
15
Было бы не плохо добавить на форум статью с описанием для errors/warnings
Статья хорошая)
 
Сообщения
207
Реакции
420
Помог
10 раз(а)
NoNameNPC, если тексты в оригинале без пояснений - можно хоть сейчас.
С переводами придётся подождать. Актуального списка ошибок нигде нет, как и их кодов. Приходится из компилятора всё дёргать.

В планах, кстати, было перевести и оформить. Но пока как-то не до этого...
 
Сообщения
44
Реакции
15
NoNameNPC, если тексты в оригинале без пояснений - можно хоть сейчас.
С переводами придётся подождать. Актуального списка ошибок нигде нет, как и их кодов. Приходится из компилятора всё дёргать.

В планах, кстати, было перевести и оформить. Но пока как-то не до этого...
Я только что в гугл вбил "списки errors amxx cs 1.6" и высветило много статьей, так что можешь не париться и брать не с компилятора а с сайтов
 
Сообщения
957
Реакции
1,184
Помог
52 раз(а)
Я только что в гугл вбил "списки errors amxx cs 1.6" и высветило много статьей, так что можешь не париться и брать не с компилятора а с сайтов
Не смущает что пишете это в разделе CS Source?)
 
Сообщения
207
Реакции
420
Помог
10 раз(а)
А так тоже вбиваю "списки errors amxx cs sourse" и есть статьи
В Сурсе - не АМХХ, а Сурсмод. И ещё раз:

Актуального списка ошибок нигде нет, как и их кодов. Приходится из компилятора всё дёргать.
Список каждый год изменяется: пополняется парой пунктов новых.
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу