前言
距离编写开服教程已过去1年多,一直也没什么时间来整理插件安装的教程,这几天闲来无事,又重新开始搭建一遍,算是补上这么一个遗憾。话不多说,开整。
一、SourceMod安装
假定游戏本体已经安装,接下来就是SourceMod的安装,个人认为这是最最基本的插件环境。这里需要下载 SourceMod
和Metamod
压缩包。
- SourceMod下载地址:
http://www.sourcemod.net/downloads.php?branch=stable
- 1
- Metamod下载地址:
https://www.metamodsource.net/downloads.php?branch=stable
- 1
将下载好的压缩包上传至服务器,开始安装,我这里安装的版本是1.11.0
版本,对应下载好的软件是sourcemod-1.11.0-git6906-linux.tar.gz
和 mmsource-1.11.0-git1148-linux.tar.gz
。
- 将
sourcemod-1.11.0-git6906-linux.tar.gz
压缩包解压至地狱已满游戏本体下(steam游戏的安装目录我指定的是/home/steam/app
,安装完地狱已满后会自动创建nmrih
的文件夹,这个就是游戏本体)。这里解压会得到addons
和cfg
两个文件夹。
tar -xvf sourcemod-1.11.0-git6906-linux.tar.gz -C /home/steam/app/nmrih
- 1
- 同理操作
mmsource-1.11.0-git1148-linux.tar.gz
。这里解压也会得到addons
文件夹。
tar -xvf ``mmsource-1.11.0-git1148-linux.tar.gz`` -C /home/steam/app/nmrih
- 1
- 第二步得到的
addons
文件夹里会有metamod.vdf
和metamod_x64.vdf
两个文件,将两个文件的内容都修改为如下:
"Plugin"
{
"file" "../nmrih/addons/metamod/bin/server"
}
- 1
- 2
- 3
- 4
- 验证是否正确安装(这里我参考了alliedmods官方说明)。重启游戏完成,直接在控制台输入以下命令:
meta list
- 1
安装成功会输出以下内容:
接下来就可以使用SourceMod的控制台指令了,如查询版本命令:
二、添加管理员
因为开服使用的匿名用户,需要需要将自己设置为管理员,才能在进入游戏后使用第一部分中的 sm
命令。这里也可以直接参考alliedmods官方说明。
- 查询自己的steamID,可以进入游戏后,打开游戏控制台,输入
status
命令查看,也可以直接在游戏服务器中,运行游戏界面的控制台里输入status
查看(前提是玩家需要进入到游戏里),uniqueid
就是我们需要的,把它完整复制下来。切记这里的steamID并不是个人资料里的那17位数字!!!
- 编辑
addons/sourcemod/configs/admins_simple.ini
文件,把自己的steamID给定所有权限(这里打了马赛克了,使用第一步复制出的steamID就行)。z
表示所有权限,99
表示免疫值。PS:这里同样也可以用公网IP,或者用户名(但需要密码)来指定管理员,具体看官方文档就明白了,或者配置文件的示例。
- 服务器控制台输入
sm_reloadadmins
- 进入游戏后打开控制台输入
sm_admin
,游戏界面就会出现管理菜单了。如果不是管理员,控制台会提示无权限的
三、第三方插件安装
- 资源下载地址:
http://www.sourcemod.net/plugins.php?cat=0&mod=24&title=&author=&description=&search=1
https://forums.alliedmods.net/forumdisplay.php?f=108&order=desc&page=1
- 1
- 2
安装之前先简单解释两个问题:
-
Q:插件是放在哪里的?
-
A:
sourcemod
目录下是放置第三方插件的。它里面要三个重要文件,分别为plugins
(存放后缀名为.smx
的插件文件),scripting
(存放后缀名为.sp
的文件,即源码文件。源码文件可以用自带的命令编译成.smx
的插件文件)以及translations
(主要是涉及多语言的文件,比如要显示中文提示,就可以编辑某个插件的对应的语言文件,添加中文支持)。比如我存放的目录就是/home/steam/app/nmrih/addons/sourcemod
。 -
Q:要下载的是插件文件还是源码文件?
-
A:初学者可以直接下作者已经编译好的插件文件即可(这个插件文件有可能只有一个
.smx
的文件,有可能是一个压缩包,这个压缩包解压后里面一般也会有plugins
,scripting
以及translations
三个文件夹,将三个文件夹下的文件分别拷贝至sourcemod
目录下分别对应到的三个目录中);源码文件的话可以自己修改源代码,然后自行编译。
这里以安装 SURVIVOR RESCUE
插件为例,进行一个简单说明。这个插件会随机选择一名玩家作为特殊幸存者,玩家们要通力协作保护这位特殊玩家,如果这位玩家死亡的话,会引发核爆,其余玩家也会死亡,任务失败。
- 从
https://forums.alliedmods.net/showthread.php?t=326659
下载该插件
- 当然,也可以直接在服务器上通过
wget
命令下载
wget https://github.com/Lunreth/nmrih-survivor-rescue/releases/download/1.0.4/nmrih-survivor-rescue-1.0.4.zip
- 1
- 解压该文件,得到
addons
文件夹,该文件夹下的sourcemod
目录下就有plugins
,scripting
以及translations
三个文件夹了
- 添加中文支持(原版是没有中文的),主要就是修改
translations
目录下的nmrih_survivor_rescue.phrases.txt
。这里贴出我的配置(chi
就是中文支持):
"Phrases"
{
"survivor_picked"
{
"#format" "{1:s}"
"en" "{1} is the special survivor! Cooperate together and keep him alive at any cost."
"es" "{1} es el sobreviviente lider! Deben alcanzar el rescate y mantenerlo vivo."
"chi" "{1} 被选为特殊幸存者! 请齐心协力,保护好基友安全."
}
"survivor_private_message"
{
"en" "YOU are the special survivor! Reach extraction point without dying or players will lose round."
"es" "¡Has sido elegido como el sobreviviente lider! Debes ser extraído sin morir o todos perderán la ronda."
"chi" "你现在是特殊幸存者! 到达撤离点前不要浪啊,否则你的基友们都会挂的."
}
"survivor_center_message"
{
"en" "YOU are the special survivor! Don't die!"
"es" "¡Eres el sobreviviente lider! No debes morir en esta ronda"
"chi" "你现在是特殊幸存者! 别挂了兄弟!"
}
"survivor_death"
{
"#format" "{1:s}"
"en" "{1} is dead! Mission failed!"
"es" "{1} ha muerto! Misión fallida!"
"chi" "{1} 挂了! 任务失败!"
}
"survivor_extracted"
{
"#format" "{1:s}"
"en" "{1} successfully extracted! Mission complete, get to the extraction point quickly!"
"es" "¡{1} ha escapado con exito! Misión completada, rescate desbloqueado."
"chi" "{1} 成功撤离! 任务完成,请迅速到达撤离点!"
}
"survivor_hub_complete"
{
"en" "Mission complete!"
"es" "¡Misión completada!"
"chi" "任务完成!"
}
"not_survivor"
{
"#format" "{1:s}"
"en" "You are NOT the survivor! Bring {1} to the extraction point or you won't be extracted."
"es" "¡NO eres el sobreviviente lider! Escolta a {1} hasta el punto de extracción."
"chi" "兄弟,你不是幸存者! 请带上你的好基友 {1} 到撤离点,要不然你撤离不了的."
}
"survivor_ff"
{
"en" "Friendly fire disabled for special survivor."
"es" "Fuego amigo desactivado para el sobreviviente."
"chi" "特殊幸存者禁用友军火力."
}
"survivor_left"
{
"#format" "{1:s}"
"en" "{1} was the special survivor and left the game! Round must restart to pick new hero."
"es" "¡{1} se ha desconectado siendo el sobreviviente lider! Ronda reiniciada."
"chi" "特殊幸存者 {1} 离开了游戏! 请重开游戏,选择新的幸存者"
}
"survivor_restart"
{
"en" "Round must restart to pick new hero."
"es" "Ronda reiniciada para elegir nuevo lider."
"chi" "请重开游戏,选择新的幸存者"
}
"survivor_all_hud"
{
"#format" "{1:s}"
"en" "Escort {1} to extraction point"
"es" "Escolta a {1} hasta el rescate"
"chi" "护送幸存者 {1} 到达撤离点"
}
"survivor_indicator"
{
"en" "YOU ARE THE SPECIAL SURVIVOR"
"es" "ERES EL SOBREVIVIENTE LIDER"
"chi" "恭喜你兄弟,你现在是特殊幸存者了"
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
-
最后就是将
plugins
,scripting
以及translations
三个文件夹下的文件分别拷贝至/home/steam/app/nmrih/addons/sourcemod
目录下分别对应到的三个目录中。这里略过。插件拥有的命令如下:
-
刷新插件列表(使用
sm plugins refresh
命令)。注意是在游戏服务器里,并且是处于游戏控制台里
结语
嗯。。。就这么吧,有时间再更新如何加入第三方地图的。。。
评论记录:
回复评论: