手动编译Sourcemod(Linux)
Anie1337
2021年05月10日 03:51

官方说的还是挺明白的:

https://wiki.alliedmods.net/Building_SourceMod

因为我那个插件要用某个人的sm版本,国内也没这种教程,

顺手写一个好了

建议先

sudo apt-get update

安装git

sudo apt-get install git

安装linux的C++编译器(clang)

sudo apt-get install clang lib32stdc++-7-dev lib32z1-dev libc6-dev-i386 linux-libc-dev:i386

如果是64位的linux还需要下面这个指令

sudo apt-get install g++-multilib

随便创建个目录,就叫他smbuild好了

mkdir smbuild && cd smbuild

git clone --recursive https://github.com/BotoX/sourcemod

这里拉取的可不是官方的仓库,可改成https://github.com/alliedmodders/sourcemod

拉完了就

bash sourcemod/tools/checkout-deps.sh

以下是意外情况,上面那条指令输完过一段时间后如果没有git的错误警告

即拉取完必要仓库了就没必要看下面

服务器拉不了仓库的时候,

我们自己电脑手动拉然后上传到smbuild文件夹里面也可以继续进度

妈的我的服务器也太拉了

git clone --mirror https://github.com/alliedmodders/hl2sdk hl2sdk-proxy-repo

git clone https://github.com/alliedmodders/metamod-source mmsource-1.10 -b 1.10-dev

如果要编译sm1.10及以上的版本

https://cdn.mysql.com/archives/mysql-5.5/mysql-5.5.54-win32.zip mysql-5.5

如果是1.10以下的 

https://cdn.mysql.com/archives/mysql-5.0/mysql-noinstall-5.0.24a-win32.zip mysql-5.0

拉取ambuild仓库

git clone https://github.com/alliedmodders/ambuild

记得把它们都上传到服务器smbuild文件夹里

回到服务器smbuild文件夹操作

pip install ./ambuild

这个pip一般会有,没有就

sudo apt-get install python-pip

然后是

cd sourcemod 

mkdir build && cd build 

python ../configure.py

最后输入

ambuild

build文件夹里的package就是成品了

这里不知道是不是那个仓库的问题,一直编译出错,还是同一个部分,l4d2里面的。

因为默认设置是全部sdk编译嘛,然后我想只编译cs起源的sdk,就成功了

python ../configure.py --sdks css

迟点会出个编译扩展教程?