【教程类】关于Source Mod的安装与故障排除

您所在的位置:网站首页 xbox能连ipad玩嘛 【教程类】关于Source Mod的安装与故障排除

【教程类】关于Source Mod的安装与故障排除

2024-01-18 17:03| 来源: 网络整理| 查看: 265

※注意,本文章并不适合完全没有接触过起源游戏的玩家阅读,最好对起源的文件结构有一定了解再阅读※本文章只面向正版玩家,即Steam必须拥有Valve的一些起源游戏,其中半条命2是必须的,当然,最好有Valve全家桶※本文所指起源Mod并不包括BMS(黑山起源)的Mod※本文章更适合在网页端上阅读

序章:文章简介

本文章的写作目的是帮助更多刚刚接触起源Mod的玩家解决一些常见的安装问题,包括基础的安装操作和一个常见问题的解决方案,由于我对起源的了解程度也并不深,所以只是简单介绍,有错漏的地方欢迎指出,射射兄弟

注解:SP为Singleplayer,MP为Multiplayer,Source SDK Base有时缩为Base

快速阅读指引:

加粗:标题/专有名词

红:重点

棕:步骤

绿:提醒

 粉:链接

❶(黑底白字圈):注释标记

1、介绍1.1  Source SDK Base

简而言之,Mod以这玩意为本体,这个东西的作用大概就是整合调用各个起源游戏的资源

版本:

Source SDK Base 2006

Source SDK Base 2007

Source SDK Base 2013 SP

Source SDK Base 2013 MP

其中常用的是2007和2013 SP

值得注意的是,Base 2013 SP常常需要更改参与测试为upcoming,但这不是必须的步骤,如果Mod的安装说明或者简介信息里没有写明需要upcoming,则不需要做这一步

你可以通过对着库存里的Base 2013 SP右击—属性—测试—upcoming—关闭,并等待Base更新完毕后即切换为upcoming

了解Base的具体信息请看:https://developer.valvesoftware.com/wiki/Source_SDK_Base

※安装了Base并不意味着不需要安装游戏,游玩mod仍需要安装对应的游戏

有的mod会把所需游戏写在文件说明里,所以仔细阅读,特别留意require之类的词,没写的话就看下的是什么游戏的mod,把对应游戏装了就行,这个因mod而异

1.2 sourcemods文件夹

sourcemods文件夹用于存放起源mod,Steam会自动读取这个文件夹里的mod,并将其显示在游戏库中

若安装了任意一个Base,这个文件夹将出现在你Steam安装目录下(初始Steam游戏库)的steamapps里

举个例子,我的sourcemods文件夹位置是D:\games\Steam\steamapps

如果你想更改这个玩意的位置就只能重装Steam了,请勿自己创建一个sourcemods文件夹,Steam不会认非Steam初始安装目录下的sourcemods文件夹

尽管如此,可以通过对base使用-game参数手动定位mod位置,然后运行base以启动mod

例:Obsidian Conflict使用的是Base 2007,那么我就给Base 2007加入以下参数

-game "D:\games\Steam\steamapps\sourcemods\obsidian"

为Base 2007设置启动选项路径参数所指向的文件夹

请注意,路径必须为纯英文

另外,已证实就算Base和sourcemods在两个不同的硬盘里也不会有什么问题

 补充:基于符号链接, 可随意修改位置的sourcemods目录

 原理大概是让Steam以为你的sourcemods在Steam安装目录下的steamapps里, 但实际上那是个符号链接, 可以指向任意位置(大概吧, 反正应该没人想放到system32里啥的)

 CMD使用 mklink /d 创建符号链接( /d 是符号链接), 语法见

https://learn.microsoft.com/zh-cn/windows-server/administration/windows-commands/mklink

Powershell使用 New-Item, 语法及示例见

https://learn.microsoft.com/zh-cn/powershell/module/microsoft.powershell.management/new-item#7

以CMD为例 (也推荐CMD, 语法简单点)

mklink /d "D:\games\Steam\steamapps\sourcemods" "E:\SteamLibrary\steamapps\sourcemods"

第一个路径:Steam安装目录下的steamapps, 链接名为sourcemods, 虚假的sourcemods

第二个路径:实际的sourcemods目录位置

长度问题, 命令可能显示出来会换行, 不要换行, 用空格分割路径, 路径最好纯英文

目前也没有发现这样弄有什么问题

 

感谢adm-sus-233的补充, 相当有用, 几乎是无痛转移sourcemods

1.3 SteamPipe❶

关于SteamPipe的具体概念较为复杂,想要了解请看:https://support.steampowered.com/kb_article.php?ref=7388-QPFN-2491

https://developer.valvesoftware.com/wiki/SteamPipe:zh-cn

对于起源Mod来说,SteamPipe用于强制挂载模块,这东西对新mod来说没什么影响,但是老mod可能因此无法运行,这个知道有这一回事就好,故障排除涉及这个玩意

准备工作

1.安装Source SDK Base

库存中的Base

基本上拥有任意一款起源游戏就会获得一套Source SDK工具,访问你的Steam工具库,找到Source SDK Base,并按照Mod需要下载Base版本或下载两个常用的版本,请注意Base 2013是否被要求设置为upcoming

※如果您在运行mod时没有下载所需Base,Steam会自动提示下载

2.找到你的sourcemods文件夹

照着上述介绍找就行了,再次强调,这个文件夹在Base安装完毕之后才会出现,找不着就不是我的问题了

一切就绪,该去找点Mod来试试了

2.Mods2.1 获取一些Mod

提供两个找Mod比较好的网站,都是外网,英语实在不行就备个翻译器,自己摸索一下

1、Mod DB

https://www.moddb.com/

Mod DB按总热度排序传送门1的Mod

挺老的网站了,不解释,大多数人都从这里找各种游戏的mod

优势:老牌网站,老Mod储备比较齐全,比较适宜找大型Mod

劣势:下载有点小霸王,虽然没有墙,但有时候加载特别慢,有些Mod会故意拉人刷高分,导致有些Mod的评分不真实

2、RTSL

https://www.runthinkshootlive.com/

RTSL按AR和Mod大小排序ep2的mod

专门针对HL玩家的Mapping/Modding社区网站,可以找Mod也可以找地图

优势:有不少优质的中小型Mod,新Mod、新地图源源不断,Mod评分比较准

劣势:不仅下载慢,加载也慢,最好开个纸飞机访问

2.2 安装Mod我的sourcemods文件夹

如果你完成了介绍篇的准备工作,那么,请先查阅Mod的说明(通常为Installation.txt或者Readme.txt之类的东西,亦或者在网站的文件描述上),如果说明有写安装,那就按着说明做,该装的游戏装了,该放的文件夹放了就行

噩梦之屋2 2015版的安装说明

如果没有,一般来说,只需要把Mod文件夹解压到sourcemods文件夹然后下载mod对应的游戏(下的什么游戏的mod就下什么游戏)即可,通常要解压的应该是一个文件夹,而不是一堆,但是有个例外就是MMod,那玩意是一大堆文件夹的,看着安装说明装就行

重启Steam,Mod将会出现在你的Steam游戏库里,玩就行了

章节前言因SteamPipe而导致的常见报错

很多老mod都由于Valve的SteamPipe更新导致了一系列问题,无法正常游玩

而玩家社区的辛勤付出使这一切都有了较好的解决方案,不仅解决了问题,也使Mod变得更赏心悦目,即使Mod的开发者没有为Mod修复,也会有热心人制作修复补丁,即使没有修复补丁,我们仍可以通过用解包的旧版起源引擎游玩这些老mod,当然,我们自己也可以通过修改gameinfo.txt修复一部分SteamPipe问题,但这不一定能解决所有问题

在开始解决棘手的问题前,先来排除一下其他问题吧3.故障排除3.1 检查&分析问题

出问题有很多可能,先按照以下内容进行排查

如果mod没有出现在库里,说明mod安装有误,检查一遍自己怎么装的

以下均为无法运行mod/运行直接崩溃问题的原因及其解决方案

1.没有下载Mod所需的Base和游戏

一般来说,Mod会在文件描述或者说明文本里面说明所需Base和游戏,如果Mod根本无法运行,检查一下游戏装了没,有时候装了Base会把游戏忘了

某Mod的文件描述强调所需游戏和Base

2.Base 2013没有切换到upcoming测试/没有调回不参与测试

打了Source SDK 2013 Patch的mod需要Base 2013 [upcoming],有些mod也同样需要这个,而有些mod不需要upcoming,所以注意一下文件描述,这些都写得清清楚楚的,对着切测试就行,不知道怎么切的话上面有写,自己看一下

Latest "Beta" of Source SDK Base 2013 Singleplayer即Base 2013 SP [upcoming]

3.尝试验证Base完整性

有些mod需要验证一下Base的完整性才能正常运行,如1187

4.是由于SteamPipe导致的错误

如果运行mod时遇到了类似章节前言那张大图的错误提示,又或是没有画面只有声音,然后游戏崩溃,那么恭喜你,你遇到了SteamPipe问题

别担心,以下会详细介绍这种问题

3.2 SteamPipe问题的解决方案

关于SteamPipe问题是什么,章节前言已经说明了,这里有三种可选的解决方案,将按照推荐程度分先后介绍

① SteamPipe Fix/Source SDK Patch

这是解决该问题的最优解,使用Source SDK Patch不仅能修复SteamPipe问题,还能解决一些mod的bug并增强画面效果

这些东西一般可以在mod的moddb页面的files里找到

也可以在这里搜索Source SDK Patch:

https://www.moddb.com/members/malortie/downloads

看眼文件描述先,patch都是覆盖式安装,一般需要Base 2013 SP [upcoming]

如果这个办法不行,还有别的办法

② Source Unpack

Source Unpack是SteamPipe更新前的最后一版起源引擎(build 5135),内含解包的半2和传送门1,但您仍然需要在Steam库中拥有(且需要下载)HL2和Portal以运行Source Unpack

首先你需要拥有一定的英语水平,因为你将需要阅读大量资料,有关如何使用Source Unpack运行mod等我将不会在这里详细写出,但如果实在搞不懂或者有翻译需求,可以评论区提议,这个不是我懒的问题,绝对不是(某粉色app报错饼干)

有关Source Unpack的资料和下载途径可以在这里找到:https://wiki.sourceruns.org/wiki/Source_Unpack

请务必认真阅读Readme部分,那都是很重要的说明

※ 另外,Source Unpack自带了两个工具:

一个是YaLTeR's Source Pause Tool,常用于速通/分段速通,这个工具可用于启用自动连跳

 另一个是RInput,移除鼠标加速的工具,这个在半1mod里的作用尤为明显❷

工具怎么用写在Readme里了

③ 手动修改gameinfo.txt

这是下下下策,如果能通过前面的方法解决,尽量不要尝试这个

介绍:SteamPipe更新到底造成了什么问题,为什么会出现文件缺失

SteamPipe更新将游戏所在的路径更改了,比如

[steam installation directory]/steamapps/[username]/half-life 2/.

在更新后变成了

steam installation directory]/steamapps/common/Half-Life 2/.

这导致了什么,gameinfo.txt会告诉Steam这个mod需要加载什么东西,但由于SteamPipe更新导致的路径更改,那些没有被修正的gameinfo.txt仍然保持着原来的读取目录,就无法找到所需文件,因此才提示缺失文件

这就引出了推论:可以通过手动修正gameinfo.txt解决这个问题

找到mod的gameinfo.txt,进行编辑,修正appid/路径等信息即可,细节和路径模版请参阅:http://lambdageneration.com/modding/source/fixing-half-life-2-and-portal-mods-on-steampipe-a-quick-guide/

最后警示:此方法只能解决缺少文件导致的问题,并不能解决引擎更新导致的问题,因此,不确保100%成功且非常不推荐可以在采用其他方法运行的情况下选用此方法

 只要有心,问题迟早会得到解决注释解析

❶SteamPipe问题也同样存在于一些金源mod,尽管很多受影响的金源mod不至于无法运行

❷由于很多半1mod发布时间在半1支持原始鼠标输入前,所以很多mod仍不支持原始鼠标输入(即使本体支持也没有用),在极大多数mod开启原始鼠标输入将会导致鼠标移动忽快忽慢等问题,而RInput可以解决这个问题

RInput的Github:

https://github.com/VolsandJezuz/Rinput-Library

这是新版,旧版作者已停止更新,SourceRuns Wiki的那个链接是旧版的

结语

这部分没有什么重要的内容,单纯来看教程的可以忽略了

因为写这篇文章,几天没有睡好觉

起初我写这篇文章的契机就是一天有人问怎么装起源mod,因为安装起源mod比金源繁琐多了,而且好像也没有什么特别好的教程类文章,所以我打算自己写一个,留着以后有人再问可以让人直接看

起了个草稿,一周断断续续写了第一部分的内容,完成了20%左右因为SteamPipe问题不得不停滞,花了一个晚上研究这个问题,顺便也抽空陪朋友打打游戏什么的,然后不知不觉就咕了两周,最后在归纳SteamPipe上重新选择了比较严谨的写法

这周我重新开工写这篇文章,就开始查资料写草稿,到现在基本上已经完成了,剩下的事情就是复审三遍/删改(实际上删改最多的是结语,删了足足有两百多字,写了很多不该写的东西上去,从第一段就可以猜到我到底写了什么上去)

如果看过我以前写的文章,很容易发现,这篇文章写得比较正经,因为这篇我是认真写的

我知道有些人可能不喜欢看到那堆五颜六色的文字,所谓的快速阅读指引只是为了避免我写一大堆废话而设计的,虽然这次好像并没有多少句话是废话

这篇文章理论上也不会有多少人看,那我为什么还要急着写完,不知道,我喜欢

不清楚这篇文章写得行不行,感觉会有人看不下去这个排版

感谢您看完以上的一堆废话,如果您能给些修改建议或者觉得文章哪里存在错漏/不严谨,请私聊或评论指出,我会尽快修改

——3days Vikazi

THE END



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3