Hello! 欢迎来到ZyxBlog!

MCSMT(PsbMCUpdater) 教程文档


avatar
Zyx 2023-02-18 2.63k

官方GitHub仓库

这个项目是为了能够更便捷的开设Minecraft服务器而开发的。 

这个项目分为Server Pack(服务器包)和Client Pack(客户端包)两部分。服务器包能够操控客户端包的所有行为。因此,可以说连接到恶意服务器是危险的。服务器可以让客户端下载病毒文件等待其他软件打开它。(一个示例是,C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartupWindows会在下次启动时启动里面的所有东西。但是一般情况下应用程序没有权限写入此目录,不过依旧可以写入用户目录,Windows会在下次用户登录时启动那里的所有东西。因此请记住:该项目不需要任何管理员权限,当该项目向您请求管理员权限时,请拒绝!这可以避免损坏您的计算机。) 

 

我们计划在v2.4更新的时候加入安全机制,拒绝写入当前目录之外的目录(不包含当前目录的子目录以及其的子目录)。当然,这会是可选的,只需要在Cconfig.json中将useSpath改为false即可。为了防止通过本项目更改Cconfig.json,当useSpathfalse时,程序将会提醒您确认,确认后将会修改Cconfig.jsonxAuthedConfigChange的值改为用我们闭源的MachineCodeGenerator生成的机器码。该机器码是唯一的。 

 

编译&运行 

本程序无需编译,直接运行。 

推荐直接clone或者下载源代码,安装依赖库后直接运行 

发行版下载地址:自营(不稳定) GitHub Releases(弃更) 

下载已编译,无需运行环境的Windows发行版↑↑↑ 

请务必从自营源下载!!!Github因为上传麻烦已被放弃!如果怀疑安全性,请直接编译源代码或直接运行源代码!!! 

目前可以到Github Release下载老版本,跟新版差别不大。 

依赖库:requests(客户端), flask(服务端)(可选) 

如果不使用server_function.py,可以不安装flask. 

如果要编译直接随便找个py2exe编译一下就得 

 

使用方法 

你可能看到了,仓库中有很多零散的文件,其中只有.py后缀的是有用的。然而,你也应该看看readme.txt后缀的,里面包含了重要的信息。 

从以上信息,想必你能意识到,这就是一个有client.json索引文件的http服务器 

是的,这是一个练习实践项目,这代表着这个项目的更新频率在一段时间内会是频繁的,但是过了这个时间之后,将会近于废弃。这其实是一个Python不完全重写的BalloonUpdate静态服务端项目,加入了一些实用工具包括模组下载器和动态服务端,但是并没有做到文件监听、子目录遍历和友好的GUI界面。因此,我推荐使用BalloonUpdateBalloonServer而不是该项目 

启动服务端 

首先,你需要使用config_gen.py生成或者创建一个config.json文件。 

他看起来像这样: 

[ 

[<ResourceDir>, [<filetype1>, <filetype2>, …], <TargetDir>], 

 

] 

<ResourceDir>=资源文件的目录,必须是相对路径且不能使用”..”符号 

<filetype>=匹配的资源文件的后缀名 

<TargetDir>=客户端对应的目录,必须是相对路径且不能使用”..”符号 

然后只需要启动server.py或者server_function.py即可 

注意:服务端文件和配置文件必须同时在同一文件夹存在。 

Server_function.py的地址是http://127.0.0.1:7809/ 

启动客户端 

你需要创建一个Cconfig.json,看起来像这样: 

{ 

    "requestURL": "http://127.0.0.1:7809/" 

} 

然后启动client.py就可以更新了 

延伸阅读 

原理解析 

Server_function.py只是一个单纯的flask服务器罢了,加多了每次访问client.json自动重新生成的能力,但是访问的多了会炸 

Server.py只是识别config.json给出的规则并用os.listdir()遍历,生成出客户端的规则client.json 

客户端扫描client.json,根据给出的urlsha512target就可以全量同步 

 

文档原作者:lghilb-yu (PS>bash) (github.com)

本文部分内容引用自:MCSMT(PsbUpdater) Guide(ZH).docx (sharepoint.com)

  • avatar
    博主

    欢迎提出问题和建议

  • avatar
    游客

    我是MCSMT的开发者,友情提醒一下,这个已经严重落后,请以仓库README为准~
    最新版本:v3.0.2.11.1

发表评论