Как компилировать файлы sourcemod
В скачиваемых архивах будут файлы с расширением *.smx (сам плагин), *.sp (исходник плагина), *phrases.txt файл перевода и редко файл с расширением *.inc.
- Скопируйте файл с расширением *.smx в папку addons/sourcemod/plugins
- Если есть языковой файл с расширением *phrases.txt скопируйте го в папку addons/sourcemod/translations
- Если есть файл содержащий функции которые вызывает плагин при компиляции с расширением *.inc скопируйте его в папку addons/sourcemod/scripting/include
- Файл с расширением *.sp поместите в папку addons/sourcemod/scripting. Этот файл содержит исходный код плагина
- Если в описании плагина присутствуют какие-либо настройки (cvar's), их можно прописывать в файле server.cfg или в файле sourcemod.cfg
- Если хотите выключить плагин то переместите его в каталог addons/sourcemod/plugins/disabled
Проверяем работу плагина:
1.Запускаем сервер
2.Пишем в консоли sm plugins list , вы должны увидеть строку типа этой:
О подробной настройке плагина смотрите в его описании и прилагающейся документации. Файлы с расширением *.sp это исходный не компилированный плагин , его можно скопировать в папку scripting , он может понадобиться в случае перехода на новую версию SourceMod'a.
Часто возникает вопрос: где прописывать настройки плагина? Большинство плагинов SourceMod автоматически создают конфигурационный файл при первом запуске, впоследствии конфиг находится чаще всего в каталоге SRCDS/<MOD>/cfg/sourcemod, реже в SRCDS/<MOD>/addons/sourcemod/configs. Если плагин не создает конфиг автоматически, то настройки можно прописать в следующих файлах: SRCDS/<MOD>/cfg/server.cfg; SRCDS/<MOD>/cfg/sourcemod/sourcemod.cfg , также можно создать отдельный конфигурационный файл в папке cfg и добавить в файл server.cfg строку (где name название вашего созданного конфига) Скопируйте файл с расширением sp в папку SRCDS/<MOD>/addons/sourcemod/scripting и переместите скопированный файл на compile.exe с помощью перетаскивания.
Вы увидите такое окно:
Далее нажмите Enter, окно должно закрыться. Готовый скомпилированный плагин будет в папке SRCDS/orangebox/cstrike/addons/sourcemod/scripting/compiled
Для компиляции некоторых плагинов нужны *.inc файлы которые нужно копировать в папку addons/sourcemod/scripting/include и затем компилировать плагин.
Запускаем сервер, заходим в его консоль и пишем sm plugins list . В консоли появиться список работающих плагинов:
- Проверяем есть ли в списке установленный Вами плагин, если он там есть, значит Вы сделали все правильно.
- Команды SourceMod для работы с плагинами:
sm plugins команда
Команды:- info - Information about a plugin/Показывает информацию о плагине
- list - Show loaded plugins/Выводит список установленных плагинов
- load - Load a plugin/Загружает указанный плагин
- load_lock - Prevents any more plugins from being loaded/Блокирует загрузку плагинов
- load_unlock - Re-enables plugin loading/Снимает блокировку загрузки плагинов
- refresh - Reloads/refreshes all plugins in the plugins folder/Обновляет/перезагружает загруженные плагины
- reload - Reloads a plugin/Перезагружает указанный плагин
- unload - Unload a plugin/Выгружает указанный плагин
- unload_all - Unloads all plugins/Выгружает все плагины
- Если у вас код не в файле . sp , а например, с форума то:
- Создайте новый файл с расширением . sp
- Откройте его с помощь notepad++ (см. выше)
- Установите для него кодировку UTF-8 без BOM
- Скопируйте в него нужный код
- Сохраните изменения
- Произведите компиляцию (см. ниже)
Компиляция на Linux
- Откройте терминал (консоль)
- Перейдите в директорию /addons/sourcemod/scripting/ с помощью команды cd
- Скопируйте файл содержащий исходный код плагина (имеет расширение *.sp) в эту директорию командой cp
- Для компиляции некоторых плагинов нужны *.inc файлы которые нужно копировать в папку addons/sourcemod/scripting/include и затем компилировать плагин
- Выполните команду:
Плагин должен скомпилироваться.
Внимание! Нет разницы на какой OC компилировать плагины. Если ваш сервер работает на Linux, то плагины скомпилированные на Windows там так же будут работать.
Возможные ошибки при компиляции
Для начала разберём разницу между ошибкой ( error ) и предупреждением ( warning ).Для установки плагина, как правило, необходимо разложить все файлы плагина по указанным папкам выше. Если у плагина есть инструкция по установке - рекомендуется следовать ей.
- Перезагрузить сервер: _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 .
- info %PLUGIN% - Выводит информацию о плагине (состояние, имя, автор, адрес сайта (если есть), версия, вычисленный хеш, дата компиляции).
- list - Выводит перечень всех загруженных плагинов.
- load %FILE% - Загружает указанный плагин в память.
- load_lock - Блокирует возможность загружать плагины.
- load_unlock - Снимает блокировку с возможности загружать плагины.
- refresh - Перезагружает все обновлённые плагины, загружает новые.
- reload %PLUGIN% - Перезагружает указанный плагин.
- unload %PLUGIN% - Выгружает указанный плагин.
- unload_all - Выгружает все плагины.
Если Вам необходимо просмотреть/отредактировать исходник плагина, необходимо использовать редактор с поддержкой кодировки UTF-8 без BOM.
Например, Notepad++, KDE Advanced Text Editor, Akelpad.Нет разницы, на какой ОС компилировать плагины. Если Ваш сервер работает на Linux, то плагины, скомпилированные на Windows / MacOS, там так же будут работать!
- Windows : Переместите основной файл исходника плагина ( .sp ) на файл компилятора ( compile.exe ).
- Linux/MacOS : Откройте командный интерпретатор, выполните команду (после перехода в папку с компилятором): ./compile.sh %PLUGIN% .
Во время стадии компиляции, компилятор может сгенерировать ошибки/предупреждения. В случае с ошибками, он откажется компилировать; в случае с предупреждениями, он выдаст строки, в которых "сомневается", но плагин всё равно скомпилирует.
После компиляции, скомпилированный файл можно будет забрать из папки compiled .Установка плагинов.
Обычно плагины представлены в виде двух файлов либо в виде архива, но бывает, что для полноценной работы плагина требуется установить дополнительно конфиги, расширения или файлы перевода. Ниже я опишу основные и дополнительные файлы необходимые для работы плагина.
Расширение Путь установки Описание *.smx /mod/addons/sourcemod/plugins плагин *.sp /mod/addons/sourcemod/scripting исходный код плагина *.inc /mod/addons/sourcemod/scripting/include расширение, необходимое для компиляции плагина *.phrases.tf.txt или *.phrases.txt /mod/addons/sourcemod/translations файл перевода имя плагина.cfg /mod/cfg/sourcemod конфиг плагина(иногда создается сам после первого запуска плагина) Например: вы хотите скачать плагин tNoUnlocksPls, он представлен архивом. Распаковав вы увидите папки plugins, scripting, translations в них уже будут находится файлы tNoUnlocksPls.smx, weapons.phrases.tf.txt, tNoUnlocksPls.inc, tNoUnlocksPls.sp на своих местах, а вам надо будет только скопировать папки в /mod/addons/sourcemod/
Компиляция плагинов.
Часто при обновлении Sourcemod-а требуется скомпилить плагин заново. Либо когда автор забросит плагин, но какой-то добрый человек починит и выложит его в виде кода, то требуется умение его собрать(скомпилить).
Процесс компиляции в Windows:Скопируйте файлы необходимые для компиляции в папки /mod/addons/sourcemod/scripting и /mod/addons/sourcemod/scripting/include(если требуется расширение), это *.sp и *.inc соответственно. Далее перетащите файл *.sp на файл compile.exe. После вы увидите черное окно с надписями:
//SourceMod Batch Compiler
// by the SourceMod Dev Team// Различная инфа о плагине
Если все прошло успешно, то в папке /mod/addons/sourcemod/scripting/compiled появится файл с расширением *.smx и по имени идентичен файлу который вы хотели скомпилить с расширением *.sp. Это и будет ваш плагин, его надо перенести в папку /mod/addons/sourcemod/plugins.
Процесс компиляции в Linux(и других unix системах):Как и в случае с виндовс надо скинуть файлы компиляции в папки /mod/addons/sourcemod/scripting и /mod/addons/sourcemod/scripting/include.Теперь можно приступать к компиляции.
Сначала открывает консоль, далее переходим в директорию /addons/sourcemod/scripting, оттуда выполняем команду ./compile.sh *.sp - где *.sp это имя вашего плагина.
Например у нас есть файл tNoUnlocksPls.sp и tNoUnlocksPls.inc, мы раскидываем их по папкам и выполняем команду:
./compile.sh tNoUnlocksPls.sp
Забираем плагин в папке /mod/addons/sourcemod/scripting/compiled c именем tNoUnlocksPls.smx.
Быстрая компиляция через сайт.Компиляцию простых плагинов, которым не требуется расширение можно произвести прям на сайте тут. После Upload .sp file: нажимаете на кнопку, указывайте файл и кликайте по кнопке с названием Compile. Далее откроется окно с ссылкой, это ссылка будет на ваш скомпиленный файл.
Читайте также:
- Команды SourceMod для работы с плагинами: