dedimark / L4d2_Mod_Manager_Tool

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

img

Left 4 Dead 2 Mod Manage Tool -- 求生之路2模组管理工具

求生之路2模组管理工具(以下简称MMT)是用于管理求生之路2模组的工具集。MMT主要解决模组管理困难问题,最主要的,在模组多的情况下查找和开启/关闭模组困难的问题。此外,许多玩家会刻意将模组移动至本地目录,MMT也解决移动模组后,模组信息不全的问题。

Installation - 安装

Requirement - 必要条件

  • Windows 7/10 64位
  • .NET 5.0.7 或更高
  • no_vtf

Usage - 用法

设置

游戏位置

打开菜单"工具->选项",在弹出的选项菜单中,找到"模组存储位置管理",单击"选择游戏位置"按钮来选择求生之路2游戏文件夹位置,软件会自动扫描模组文件夹。

img

img

设置好文件夹后,单击选项面板的"确定"按钮保存设置。

no_vtf可执行程序

软件默认自带一个,如有需要可以修改no_vtf可执行程序。

扫描模组文件

选择菜单"工具->扫描模组文件",软件从所有模组文件夹中找到vpk文件,解包读取信息,保存到软件数据库中。

搜索模组文件

可以使用搜索栏对模组进行模糊查询,支持通过模组名称、作者、VPKID进行查找。

使用搜索栏边的过滤按钮,按照标签进行过滤,标签需要下载创意工坊信息获取。可以点击已经添加的标签来去除过滤标签。

打开模组文件

在主界面的模型列表中对任意模组记录右键,在弹出的菜单选择"在文件管理器中显示",软件将会打开资源管理器并选择该模组文件。

你也可以直接双击模组记录,软件将调取合适的应用程序打开模组文件(一般为GCFScape)。

启用/关闭模组

MMT通过读取addonlist.txt来获取模组启用状态。你可以在模组列表中选择一个或者多个模组,在右键菜单中选择“开启模组”或“关闭模组”来启用/关闭指定的模组。

img

下载创意工坊信息

如果本地信息较少,可以从创意工坊获取更详细的模组信息,但是必须满足条件:

  • 模组是从workshop迁移的,并且没有重命名模组文件(默认从创意工坊下载的模组,模组名是"[VPKID].vpk")。

软件从模组文件名称获取VPKID,使用爬虫在线获取模组信息,记录到本地数据库。之后,模组列表显示的缩略图和名称改为创意工坊的缩略图和名称。

MMT支持两种获取创意工坊信息的模式,分别为网络爬虫模式SteamWorks模式。你可以在软件左下角的状态栏中看到当前软件使用的模式。

img

网络爬虫模式
该模式使用网页下载模组的创意工坊信息。该模式速度较慢,不需要登录steam客户端,在无法连接到Steam创意工坊的地区需要梯子才能下载信息。

SteamWorks模式
该模式使用 Steam API 下载模组的创意工坊信息。该模式速度较快,但是需要先登录steam客户端,任何能正常登录steam客户端的地区都可以直接下载模组信息。

关于软件选择模式的策略
MMT在启动时优先选择SteamWorks模式,如果steam客户端未启动并登录,自动降级到网络爬虫模式

模组排序

MMT支持对模组列表进行排序,通过单击模组列表的表头,可以通过名称、文件名、状态和作者进行排序。表头名后面的图标示意当前排序策略,排序支持从小到大排序和从大到小排序,分别使用符号 ▲和▼表示。

img

Develop -- 开发

Dependency - 依赖

  • Visual Studio 2017 / 2019
  • .NET 5.0 Desktop
  • Newtonsoft.Json 13.0.1
  • System.Data.SQLite 1.0.116
  • HtmlAgilitypack 1.11.43
  • Facepunch.Steamworks 2.3.3
  • no_vtf

设置no_vtf

首先从 https://sr.ht/~b5327157/no_vtf/ 上下载no_vtf,将文件夹解压至编译好的可执行程序目录,更名为"no_vtf-windows_x64"即可。

Further Feature - 计划特性

[已完成] 模组详细信息

查看模组的本地信息和创意工坊信息
本地信息包括:

  • 缩略图(addonimage)
  • 标题(addontitle)
  • 版本(addonversion)
  • 标语(addontagline)
  • 作者(addonauthor)
  • 描述(addonDescription)

创意工坊信息包括:

  • 预览图(previewImageMain)
  • 标题(workshopItemTitle)
  • 描述(workshopItemDescriptionTitle)
  • 标签(workshopTags)

[已完成] 分类过滤-依照标签

增加对模组的分类过滤功能,通过创意工坊的多标签分类快速筛选模组。

[已完成]分类过滤-依照内容

通过模组内容来对模组进行过滤。

[已完成]模组启动/关闭

在软件中批量对模组开关,加快游戏载入速度,降低模组管理难度。

[已完成]SteamAPI支持

通过SteamAPI来管理模组,可以免除梯子以及更快地获取模组信息,但是需要steam启动支持。

模组别名和自定义标签

为每个模组增加别名和自定义标签,为后续的分类和搜索功能做好准备。

在线模组自动备份

自动备份在线模组,模组丢失检测和还原丢失模组。
==> 解决关键时刻(指联机时)起不来(指模组莫名其妙重下)的尴尬和烦恼

[需要可行性分析] 本地化订阅的模组

区分在线模组与本地模组,提供一键移动在线模组到本地,并取消订阅在线模组功能。
==> 方便珍藏老婆模组

[需要可行性分析] 更新本地化的模组

上接本地化订阅的模组,即使本地化了,也能及时更新模组,并且不会删除下架模组。
==> 老婆获得了永生

[需要可行性分析] VPKID批量复制、订阅

向基友分享模组时,选择模组,复制VPKID发送给基友,基友通过ID批量订阅。
==> 自个儿下去,我QQ离线流量用完了

[开发轶事]

记录一些开发过程中的奇妙事宜

本地的“幽灵”模组

我在做模组启动/关闭支持特性的测试时发现一个奇怪的现象,我先用MMT关闭了所有模组,接着查看addonlist.txt,对着一排的"0"感到非常满意后,照例启动求生开始测试。
在附加内容中,我浏览了模组列表,查看有没有“漏网之鱼”,最后点击完成,退出游戏,全程一气呵成,纵享丝滑。随后我再次打开MMT查看模组,然后Emmmmmmm?

img

有些模组怎么自己启动了?难道有BUG?带着疑问我又去试了几把,总结了一些规律:

  1. 确实有模组被自动开启了,而且和MMT无关
  2. 被开启的模组都是addons里的,workshop中的模组没有这个现象
  3. 求生在启动软件时会修改一次addonlist.txt,在打开附加内容中点击完成后会再修改一次
  4. 启动软件时对addonlist.txt的修改仅限于在末尾增加列表中不存在的新模组
  5. 在附加内容中点击完成后,一些模组就被开启了

然后我就对着列表一个个模组查看了过去,问题很快就查出来了,只要是本地模组,模组不包含addoninfo.txt的,都会被自动开启!而且在求生的模组列表里是看不到变化的,难怪之前打图,煤气罐被半条命的替换成不能爆炸的模型,气得把所有模组都关了都解决不了,最后还是靠移除vpk才搞定...

总之,只要模组缺失addoninfo.txt,又移动到本地文件夹,就会变成找不到又关不掉的“幽灵”模组。解决办法呢?你可以直接把vpk移除,或者去改addonlist.txt(记得不要去点附加内容),当然,也可以用MMT关闭(记得不要去点附加内容)。

About

License:MIT License


Languages

Language:C# 100.0%