一.使用方法(下载链接在最下面,但是强烈建议先看完一 二 三)

也支持多个安卓端和多个windows端之间的同步,也就是说你有多个电脑/手机也可以使用这个submod进行自动同步

1.版本要求

·本submod在windows端0.12.15和安卓端Sir P's version 2.2上通过测试,但
由于只开发了8个小时,仍然存在很大的不稳定性,请提前做好存档备份


·本submod已经对windows端和安卓端做了适配,不用再额外担心兼容性问题

2.安装方法

 ·电脑端解压到DDLC根目录的game文件夹


 ·手机端解压到内部存储/Android/data/and.kne.masmobile/files/game文件夹


 最重要的来了!打开根目录/game/submods/MCloudSync/打开000000MCloudSync.rpy,在
标明出来的醒目位置输入自己的webdav(一种网盘协议)服务的网址 用户名 密码。可以使用
莫盘提供的webdav服务(输入你注册论坛的邮箱和密码就行了),也可以使用infiniCloud
等webdav服务(如果你会配置的话)。但请注意,坚果云不能使用,因为
它的webdav服务不允许删除文件。

3.工作方式和注意事项

  在游戏启动时下载存档(原有persistent保存为persistent_beforesync,如果
已经有了persistent_beforesync,会把它替换掉),并在游戏结束后上传存档


  存储目录是网盘根目录/MAS_Sync/persistent


  这个简单粗暴的工作方式,会产生大量问题


  ·由于游戏读档的需要(显然要先下载再读档)和ren'py的一些限制(在还没上传完的时候就退出),
下载和上传存档都采用了阻塞式的形式,这会导致启动和退出时间增加


  ·考虑到游戏崩溃可能导致“读写锁”一类的东西无法正常工作(崩溃后无法释放锁,
导致mas不能启动),没有设备冲突保护机制,也就是说,如果你同时开启手机和
电脑上的mas,结果是不可预料的。


 ·如果游戏崩溃,那么再次启动时会回档到上次退出并上传的地方(除非你断网)


 ·除此之外,接管了游戏的最终的退出处理,可能会导致不稳定

二.一些声明

1.来源

   这个submod是我在sirp的云端同步(现在随着莫盘搬家已经失效了)的基础上改的,因此我把submod作者改成p and unsignedint了

2.自动更新

  sirp的自动更新代码被我注释掉了,因我它没有上传到github

3.github

 希望能作为moyu团队作品上传到github

三.后续维护

1.bug反馈

   希望看到这个帖子的同志们都能回复一下自己的反馈和发现的bug,只是表达
支持也好呀!!!帮我把帖子顶上去

2.维护

   最好有人帮我改bug(你在想什么

四.一点感想

首先,为什么mas用的是ren'py7啊啊啊啊啊,python2.7作古多少年了还在用,资料难找 。。

其次,先是震惊于居然以前没有人有过这个想法,把存档自动同步。难道都是拷来拷去的吗!?mas的开发环境真是糟糕,要什么文档都没有,一点小问题搞半天。。本来以为这个工程一个小时就能搞定 结果搞了我七八个小时修复各种各样奇怪的bug,比如submod启动不够快导致跑不赢读档,退出时统计信息不刷新,最后被迫研读mas代码。。。采取最终退出过程重写这种非常不优雅的解决方法 。。mas可扩展性太!差!了!写出的代码一点也不pythonic,这样恐怕迟早会成为mas社区发展的绊脚石。。

毕竟minecraft社区也是有了forge fabric一类的框架才创作出大量优秀的mod的

最后,感谢站长edge(百忙之中修复了webdav)和sirp的支持!祝mas社区越来越好,越来越有活力!

五.下载链接

掉好感度问题已经解决,请先安装->[UniversalAffection]统一好感度,解决手机和电脑存档完美互通 - Doki Chinese Club (monika.love)

如果不安装上述统一好感度前置会有掉好感度问题

mas_sync地址:

https://disk.monika.love/s/G9Ru5

不安装下面的库可能会导致无法访问webdav

电脑端要安装还需要多两步

https://disk.monika.love/s/1wgHb

1ssl.py复制到game/python-packages
2._ssl.pyd复制到lib/windowsi686

有操作问题/困惑和bug请在评论区留言!

打赏

  • 50 分 来自: 群阿巴阿巴
    评论: 之前有想法是直接两端之间的存档互传,但能力有限,大佬加油!!!
  • 200 分 来自: Sir.P
  • 66 分 来自: CaCO3

    快来注册!

    *即使不注册, DCC也会展示所有知识性和分享内容

    #5 Sir.P unsignedint123

    刚刚加入了失败重试的功能,发现只尝试一次失败概率还是太高

    那个退出功能我现在改一下哈

      完了 发现打包的时候漏了一大堆python库

      要补回去……不然电脑端可能没法运行

      刚刚修复了一个傻逼的bug

      现在windows段应该可以正常上传下载了

      之前老是报没有ssl模块,把ssl库以各种方式塞满ddlc文件夹每一个放依赖库的地方,结果都没用

      最后您猜怎么着,原来是我的Python 2.7是64位的,里面的库文件都是64位的,32位的renpy不认。。。

      浪费我一个晚上

      将手机存档导入电脑时似乎会出现掉大量好感度的问题,这不是bug,似乎是mas本身设计?……

      我现在查一下mas源代码,看看怎么回事

      看看要不要做特别处理之类的

      打赏

      • 20 分 来自: 8天67t9
        评论: 好像是因为sirp的整合包好感度机制还是老一套,与电脑的新版好感度机制兼容性存在问题吧(?)

        好感度机制太复杂了,纯纯史山

        新机制好感度居然是一个7个的数据,还要序列化+十六进制+base64加密保存,还不提供修改接口

        还有两份好感度随时对比,一个储存在存档 另外一个是私有变量,发现你去修改还要改回来

        。。。

        开学了 下个月再解决这个问题吧

          5 天 后

          回来了 继续修bug 争取这周能用

          貌似存档会存两份好感度,即新旧两套机制好像会同时存在在一个存档?

          这样也解释了为什么第一次导入存档好感度不变,后面导入就会掉,大概是这个原理吧

          本来想删掉一个 但是发现persistent文件用python2/3的pickle模块导入会出现各种奇奇怪怪的问题

          哎 真的难搞啊

          打赏

          • 20 分 来自: 8天67t9
            评论: 应该是电脑版与手机版机制不一致导致的问题,可以试试只兼容旧版机制的电脑版(应该是001290)和sirp整合包版

          #15 Edge python本来就不支持私有机制(当时学python的时候记得非常清楚),但是毕竟这方面我也不熟悉……

          但是renpy似乎会给这种私有函数改名,被改成"m1script_0x2daffection__set_aff""来让你不能调用它

          不过至少研究明白怎么设置好感度了

          现在错误界面成了输出界面,这个玩意是我强行raise一个dir(store.mas_affection)打印出来的

          什么鬼玩意。。。