Minecraft(我的世界)中文论坛

标题: [原创|开源]updater——更新客户端文件,Mod服好帮手,CDN/PHP部署|热更新|启动器集成

作者: innc    时间: 2017-7-27 14:20
标题: [原创|开源]updater——更新客户端文件,Mod服好帮手,CDN/PHP部署|热更新|启动器集成
本帖最后由 innc 于 2021-2-21 16:51 编辑

上方目录仅做归档用途,没有特别需要建议使用本页的最新版本

之前帖子写的太混乱,这次好好地整理了一下

零、宣传语
每此服务器添加或者删除了Mod、材质包后,都要在群里发一个全新压缩包。麻烦,耗时又耗力,某网盘下载又慢?
当服务端修改一些文件之后,不用再下载整个客户端,在此程序的帮助下很方便地将客户端的对应文件保持和服务端的同步

新版本使用PHP站点作后端,对非VPS服友好,如果愿意折腾,你可以部署到对象存储服务或者使用CDN进行加速
之前版本号混乱的问题已经解决了,1.0为老的Java版本,2.0为新的Py版本

2.0可以在任务栏下方显示总下载进度(是按文件大小算的不是按文件数量算的哦,不会出现卡99%那种令人捉急的情况)


第一次做视频有点紧张,十分建议打开字幕观看
https://www.bilibili.com/video/BV1kz4y1m7i1

一、2.0版本的新特性
1. 支持静态部署,支持对象存储服务、支持CDN(针对静态部署方式)
2. 支持集成到启动器,一键启动游戏
2. 两种工作模式支持,A模式:指定路径更新 和 B模式:指定文件更新
3. 支持用正则表达式过滤文件或者路径
4. 依然支持热更新的特性
5. 服务端使用php开发,可以将更新源挂到网站空间上,对面服极其友好(针对动态部署方式)
6. EXE打包,即使没有Jvav!!!环境也能正常运行

二、关于服务端部署方式的选择(很重要)
如果有现成的网站主机,建议选择使用动态部署(容易部署适合大多数服主和技术)
如果没有网站主机,或者想部署到CDN或者静态网站上的,选择静态部署(功能强大但需要花时间去配置)

三、帮助文档
新的版本已经整理好帮助文档了,文档尽量以书面化的语言的描述,准确无歧义
文档部署在GithubPages上,如果访问速度较慢请谅解(如果有能力,也可以直接点击下方的开源仓库查看帮助文档)


四、下载地址
如果喜欢本软件,请给作者留下一些鼓励的话哦


如果遇到问题,请选择一下方式之一,我看到会第一时间回复
1. 加入下方交流群(免审核,群里也有下载地址)
2. 加我的qq1805795356(备注mcbbs)
3. 站内私信(回复稍慢)
4. 联系我的邮箱 [email protected]
如果喜欢的话,能点个收藏就更好啦

由于文档页面的评论系统受到攻击,暂时下线评论功能

目前2.6版本已经发布,支持自定义程序主界面(HTML+CSS+JS)



新开了一个软件交流群 925057600,欢迎大家进来聊聊天(前期免审核),有问题也可以直接问群主(我)啦,如果手机在身边一般都会马上回复


五、项目开源地址
如果喜欢可以给一颗小星星哦)
文档:https://github.com/updater-for-minecraft/Docs
客户端:https://github.com/updater-for-minecraft/UpdaterLauncher
热更新包:https://github.com/updater-for-minecraft/UpdaterHotupdatePackage
动态服务端:https://github.com/updater-for-minecraft/UpdaterServer
对象存储部署助手:https://github.com/updater-for-minecraft/AutoDeployer
目录校验文件生成器:https://github.com/updater-for-minecraft/JsonGenerator

六、更新日志
热更新包:


客户端:


服务端:



七、查毒报告
由于打包文件过大,无法上传查毒,我已为所有文件配置好了GithubActions自动构建,可以在Actions的构建输出里面找到Print Hash阶段,此步骤输出了构建文件的md5和sha1校验,可以与帮助文档中的文件和Releases中的文件进行对比。另外打包过程也是开源的,在.github/workflow/xx.yml文件中可以查阅
以下内容已过时,不建议使用,仅做归档用途(2021年1月14日留)

a. 每此服务器添加或者删除了Mod、材质包后,都要在群里发一个全新压缩包。麻烦,耗时又耗力,某网盘下载又慢?
c. 当服务端修改一些文件之后,不用再下载整个客户端,在此程序的帮助下很方便地将客户端的对应文件保持和服务端的同步

特别注意
1. 本软件是一个软件,请独立运行,不要放到plugins文件夹或者Mods文件夹
2. 本软件运行要求最低是Java8
3. 面板服通常无法使用此软件(多数情况下),因为无法开启新的独立端口也没有主机终端可以操作,VPS则不受这个影响

更新记录


食用手册
第一次使用本软件强烈建议阅读:
建议请直接点击最上方目录进行导航
备用的Word版本(不再更新):
updater详细的食用方法.zip (211.95 KB, 下载次数: 1818) (适用于1.2.1以前的版本)
updater详细的食用方法1.2.1.zip (246.41 KB, 下载次数: 36) (适用于1.2.1版本)
updater详细的食用方法1.2.2.zip (248.18 KB, 下载次数: 415) (适用于1.2.2版本)

如果使用过程中有问题欢迎反馈,记得带上服务端日志截图,操作系统版本和配置文件数据等信息,站内私信即可,我会第一时间回复



查毒报告
updater详细的食用方法.zip
updater详细的食用方法1.2.zip
updater详细的食用方法1.2.2.zip


开源地址
服务端:https://github.com/innc11/updater-server
核心包: https://github.com/innc11/updater-core (核心包通常内嵌与服务端Jar之中)
客户端:  
https://github.com/innc11/updater-client (只是个空壳,核心逻辑在核心包里面)
编辑器:https://github.com/innc11/updater-rulesEditor


下载:
修从1.2.3版本开始不再更新百度网盘,下载链接移动至此处,换新版本时不用升级客户端,只需要更换服务端文件即可
Server-1.2.3.jar (160.61 KB, 下载次数: 201) 1.2.3修复了修复无法更新客户端根目录的问题(2020-6-30)


最后的最后
[管理]FileSA——更新客户端文件,模组,资源包,配置文件,皮肤,支持文件夹,md5[1.6-1.9]
这两篇帖子都是我的作品,有问题请联系我这个账号。如果有疑问和错误,欢迎告诉我!



如果您觉得此内容对您有帮助,请为我评分人气+1,感激不尽!




updater详细的食用方法1.2.2
适用于(客户端1.x,服务端1.2.2,配置小工具0.2)
感谢@823123868提供详细的食用方法和修复bug的代码
引用:

    当初用这个时候还是1.0版本 ,那时候跟基友联机一旦加入了新MOD 又要重新发MOD真是苦恼,找到这个之后确实方便了很多。
     
    相比于1.0版本,1.1版本新增了个动态更新(还不理解这个怎么用,所以就跳过)。
    新增了个小工具配置 比起1.0只能按照格式改配置文件    好了很多(下面会详细说这个东西怎么用,用得好确实能更新任何东西)。
     
    新增了文件忽略,1.0版本更新是对比文件然后删除多余不相同的(可恶),1.1就人性化多了,采用的是增加式更新(就是客户端上 没有这个MD5值或者MD5值不相同 的文件就会下载下来,不会去删除其他文件(这里有要注意的配置,如果配置错误会删除其他文件!!下面服务端配置时候会详解),而且默认是不会删除文件夹)。
     
    新增服务端命令启动,因为一直都是用window开服,这个新功能应该对linux会有很大帮助。


下载和配置
服务端:
首先先打开下载地址
[attach]1592763[/attach]
                                 
配置服务端是最重要的部分,所以我们先从服务端开始配置,建议选择最新版本,最新版本相对旧版本,通常更加稳定,功能更强大,建议选择图中最后更新的版本。
[attach]1592762[/attach]

依次下载5个文件。
  serverRules.json
  
  保存着客户端程序的更新规则
  
  serverConfig.json
  
  保存着服务端程序的设置信息
  
  Server-1.2.1.jar
  
  服务端程序
  
  Editor-0.2.jar
  
  服务端规则编辑器
  
  Client-1.2.jar
  
  客户端程序
  
十分建议先下载到自己电脑上,配置和调试没问题以后在上传到线上服务器上。

现在开始配置服务端:
首先给服务端新建一个单独的文件夹,把serverRules.json和serverConfig.json和Server-1.2.1.jar放进去就像这样。
[attach]1592764[/attach]

服务端,在1.2.1版本中已经不支持服务端内部载入配置文件,只保留了外部载入。
serverConfig.properties 这个文件保存着服务端程序的一些设置选项,比如端口,限速等等
serverRules.json这个文件保存着服务端程序的更新规则,比如哪几个文件夹需要更新,怎么更新等等

首先是对serverConfig.properties的配置:
使用文本编辑器打开这个文件:

          port=5398//这是服务端程序的端口,Minecraft通过25565这个端口来让玩家进入游戏,updater通过5398这个端口来让客户端程序可以连接进来并且更新文件,原理可以理解为和Minecraft 25565端口一个道理一个用法,两者是同等地位的,只要额外把这个端口映射出去客户端就可以更新了,但要注意updaterminecraft是两个不同的独立的软件,两者没有直接关系,两者端口不要相同(冲突)即可
     
     maxDownstreamSpeed=500//用粗略的算法限制最大下载速(不要打我)单位kb/s,小服推荐在300-600左右,大服推荐在1024以上,太高的值会占用过多的带宽,合适即可
     
     maxOnlineClient=4//同时连接的客户端数量,可以理解为同一时间最多有多少个客户端一起更新,通常不需要设置的抬高
     
     


以上内容根据实际情况配置即可。

serverRules.json的配置:
这个文件决定了客户端更新什么内容,也是服务端配置的最核心部分。

由于这个文件配置的步骤太过于复杂和极其容易出错,从服务端1.1版本开始,开始使用带有GUI界面的小工具进行配置,以大大简化配置步骤和减少出错的概率。

更新规则的配置:
我们把Editor-0.2.jar这个文件也复制到这个文件里来
[attach]1592761[/attach]

就像这样,放在serverRules.json的旁边。

然后使用Java打开它,注意是Java不是压缩软件,通常双击打开程序就会运行起来(图标通常是一个咖啡杯而不是压缩文件),Editor在打开的时候会自动读取serverRules.json。
[attach]1592760[/attach]
     
因为我们是第一次使用,所以规则里面是空的,首先我们要先添加一个更新规则,这里以更新游戏mods文件夹为例,点击添加按钮,然后输入名称(这里可以理解为一个标签)(这里输入的名称只是为了自己方便辨别,输入任何内容都是可以的,和更新的过程没有任何关系,只是给你自己看和辨别用的,支持中文和特殊符号),这里以“客户端mods”为例子:
     

     [attach]1592759[/attach]
[attach]1592755[/attach]
双击后进入这个规则的详细配置
[attach]1592758[/attach]
服务端路径:就是更新的源文件夹,客户端将以这个文件夹进行对比,将会删除这个文件夹没有的文件,下载客户端缺少的文件,这个文件夹就是更新标准,客户端以这个文件夹为标准进行更新。

     
客户端路径:与服务端路径大致同理,注意这里只能填写相对路径,而且通常客户端程序是和启动器放在一起的,结构如下图
[attach]1592757[/attach]
如果要更新.minecraft文件夹里面的mods这个文件夹,可以写成.minecraft/mods
     
如果要更新.minecraft文件夹里面的resourcepacks这个文件夹,可以写成.minecraft/resourcepacks
文件结构图如下:
[attach]1592779[/attach]
小技巧:在客户端1.2版本以前,客户端路径前面是不能加上./的,比如“./.minecraft/mods”,只能写成“.minecraft/mods”,从1.2版本开始,这两种写法都被支持,作用效果都是一样的。

忽略文件也是只能使用相对路径,被忽略的文件,不受更新的影响,不会被删除或是下载。可以是文件或者是文件夹

小技巧:在编辑详细规则的界面和输入文字的界面,点击确定按钮修改的部分才会被保存,点击右上角的×,修改的部分会被丢弃。

客户端:
客户端的配置相对比较简单。

用压缩软件打开Client-1.2.jar,注意是压缩软件不是Java ,然后打开这个客户端配置文件config.properties直接进行编辑
[attach]1592756[/attach]
     
可以看到三个配置项:
编辑完成后保存回压缩包里面,到此客户端配置完毕。

直接双击运行即可。        
host=hh.updaterhh.hh  //这是服务端程序的地址,可以为IP地址,也可以为域名
port=5398//这是服务端程序对应的端口
launcherFileName=MCCL.exe//更新完后会自动启动的启动器的名字,这里不能有中文,只支持英文
      




使用和维护:
服务端使用:
从1.2.1版本开始只支持命令行启动,不再支持托盘UI
java –jar Server-1.2.3.jar运行即可
客户端使用:
直接双击启动即可
服务端维护:
如果需要添加或者删除更新文件夹,需要先关闭或者停止服务端程序,再重新启动
客户端维护:
客户端无需维护


动态更新
从服务端1.1版本和客户端1.1版本开始,开始使用动态更新机制,这样的好处在于修复bug或者添加新的特性之后,不必重新下载新的客户端程序,毕竟每次都要下载个客户端程序真的很烦,服务端1.1版本和客户端1.1版本的动态更新机制存在缺陷,以至于这个功能完全失效,请使用1.2或以上的客户端。
简而言之就是只需要更新服务端而不再需要更新客户端
核心包也是Jar文件。文件名通常是updater-core-x.x.Jar
Updater项目的4个部分,缺一不可
1.    Server服务端
2.    Client客户端
3.    RuleEditor小工具
4.    Core核心包

注意:1.2.1版本开始动态更新机制被内嵌,阅读时请直接跳过这个段落,在更新新的版本时直接删掉旧的服务端文件下载新版本服务端文件即可,客户端会不用作任何修改,会自动配合新版服务端进行工作。



配置文件的载入方式
配置文件可以存在于程序旁边(外部载入),也可以存在于程序里面(内部载入),外部配置文件修改起来比较方便,内部配置文件修改起来比较麻烦,外部配置文件会影响文件夹整洁美观,可能会被误删,内部配置文件和外部配置文件正好相反,不会影响文件夹整洁美观,几乎不可能会被误删。
外部配置文件的优先级高于内部配置文件,也就是说,在外部文件和内部文件同时存在的情况下,程序读取外部文件忽略内部配置文件,没有外部文件的情况下,程序读取内部文件。
内部配置文件一般不建议删除,如果外部文件和内部文件都不存在将无法运行
通常情况下,客户端程序推荐使用内部配置文件,当客户端程序本身需要更新时,因为外部文件优先级较高,可以转而使用外部文件去更新启动器名称、地址端口等常规方式无法更新的数据。

作者: Mccraft-pepsi    时间: 2017-7-27 19:04
大爱!这插件比上一款好用多了!支持!

作者: yy53003061    时间: 2017-7-27 21:20
我就想问客户端的直接打开请问是放在mods文件夹里面打开还是放在整合包启动器根目录就可以的?
作者: 夜米奇    时间: 2017-7-28 10:05
没人回复不科学,好东西~
作者: innc    时间: 2017-7-28 10:16
yy53003061 发表于 2017-7-27 21:20
我就想问客户端的直接打开请问是放在mods文件夹里面打开还是放在整合包启动器根目录就可以的? ...

直接运行,和启动器放在一起的
作者: LX神龙    时间: 2017-7-28 10:23
做的真好,希望多更新一下
作者: 2264050315    时间: 2017-7-28 17:21
这么好的东西 没人回复      呵呵。。。  帮楼主顶一个
作者: 柴源    时间: 2017-7-31 15:23
我的面板可以开端口 QWQ希望做出一个更新客户端软件版本的  有的人java版本不对 整半天也没明白 让我损失了很多玩家
作者: innc    时间: 2017-7-31 19:38
柴源 发表于 2017-7-31 15:23
我的面板可以开端口 QWQ希望做出一个更新客户端软件版本的  有的人java版本不对 整半天也没明白 让我损失了 ...

感谢建议,下次我会尽量做成exe自动寻找Java路径并能兼容java1.7
作者: zlzchuyue    时间: 2017-8-1 01:28
mod服表示,用了这个之后,每次更新后,玩家的小地图数据就没了,小地图数据存储在mods文件夹下的。。
作者: innc    时间: 2017-8-1 13:44
zlzchuyue 发表于 2017-8-1 01:28
mod服表示,用了这个之后,每次更新后,玩家的小地图数据就没了,小地图数据存储在mods文件夹下的。。 ...

可以试一下这个办法:
在mods文件夹里面再新建一个文件夹,让以后需要更新的mod都更新到这个文件夹里面,第二层文件夹forge会扫描到的,目前只能这样了,因为按规范来说mods文件夹不应该存放任何数据的
作者: half_life    时间: 2017-8-1 21:23
不过还是建议 在做个 插件的
作者: an_an_an    时间: 2017-8-6 16:03
为什么总是提示连接不上服务器,服务器上面的规则已经加进去了,而且托盘图标是绿色的,而且客户端和服务端的配置也没错。
作者: innc    时间: 2017-8-6 16:05
an_an_an 发表于 2017-8-6 16:03
为什么总是提示连接不上服务器,服务器上面的规则已经加进去了,而且托盘图标是绿色的,而且客户端和服务端 ...

要不在服务器上试一试看能不能正常使用,可能是端口不通的问题
作者: an_an_an    时间: 2017-8-6 16:52
innc 发表于 2017-8-6 16:05
要不在服务器上试一试看能不能正常使用,可能是端口不通的问题

真是端口不通,不过端口怎么通?
作者: innc    时间: 2017-8-6 16:54
an_an_an 发表于 2017-8-6 16:52
真是端口不通,不过端口怎么通?

服务器是什么操作系统?公网可以访问吗
作者: an_an_an    时间: 2017-8-6 16:56
innc 发表于 2017-8-6 16:54
服务器是什么操作系统?公网可以访问吗

win2012R2,在MC上是可以连接的
作者: an_an_an    时间: 2017-8-6 17:00
innc 发表于 2017-8-6 16:54
服务器是什么操作系统?公网可以访问吗

抱歉,我去联系一下服务器商吧。。
作者: innc    时间: 2017-8-6 17:15
an_an_an 发表于 2017-8-6 17:00
抱歉,我去联系一下服务器商吧。。

嗯,没事,可能是服务商没有开通端口把
作者: LUKX    时间: 2017-8-6 19:37
牛逼!希望多更新一下
作者: an_an_an    时间: 2017-8-7 11:10
innc 发表于 2017-8-6 17:15
嗯,没事,可能是服务商没有开通端口把

端口开了,为毛还是连不上
作者: innc    时间: 2017-8-7 11:19
an_an_an 发表于 2017-8-7 11:10
端口开了,为毛还是连不上

如果能确定端口是通的的话,看看配置文件里服务器的地址有没有差错,就是客户端的配置文件
作者: an_an_an    时间: 2017-8-7 11:24
innc 发表于 2017-8-7 11:19
如果能确定端口是通的的话,看看配置文件里服务器的地址有没有差错,就是客户端的配置文件 ...

IP是共享IP,而且给服务器商给域名掩了,不过逆域名检测也能查到IP
作者: innc    时间: 2017-8-7 11:29
an_an_an 发表于 2017-8-7 11:24
IP是共享IP,而且给服务器商给域名掩了,不过逆域名检测也能查到IP

能把客户端配置文件里写的内容pm我吗?
作者: innc    时间: 2017-8-7 11:31
LUKX 发表于 2017-8-6 19:37
牛逼!希望多更新一下

嗯,感谢支持!
作者: 维达哎哎    时间: 2017-10-3 03:11
本帖最后由 维达哎哎 于 2017-10-3 03:12 编辑

一直提示载入0条规则怎么办?
rules.txt


文件:




作者: zhang_min    时间: 2017-12-23 18:55
为什么提示零规则??????
作者: Reon_Aqest    时间: 2018-1-13 21:21
网盘掉了啊!!!!!!!!!!!!!!
块补上
作者: volta薯片~    时间: 2018-1-13 22:08
安装方式好复杂
作者: LUKX    时间: 2018-1-16 08:47
lz!链接炸了!
作者: dougou    时间: 2018-1-18 23:34
楼主,链接挂了
作者: asd1282435812    时间: 2018-1-19 18:54
怎么没下载地址啦?
作者: innc    时间: 2018-1-24 20:48
zhang_min 发表于 2017-12-23 18:55
为什么提示零规则??????

能把rules.txt内容发我看下吗
作者: innc    时间: 2018-1-24 20:48
18502788409 发表于 2018-1-13 21:21
网盘掉了啊!!!!!!!!!!!!!!
块补上

感谢支持,已经补上        http://www.mcbbs.net/forum.php?mod=viewthread&tid=711833
作者: innc    时间: 2018-1-24 20:49
volta薯片~ 发表于 2018-1-13 22:08
安装方式好复杂

试一下新版的可好,只要点点点 http://www.mcbbs.net/forum.php?mod=viewthread&tid=711833
作者: innc    时间: 2018-1-24 20:49
LUKX 发表于 2018-1-16 08:47
lz!链接炸了!

感谢支持,已补上http://www.mcbbs.net/forum.php?mod=viewthread&tid=711833
作者: innc    时间: 2018-1-24 20:49
dougou 发表于 2018-1-18 23:34
楼主,链接挂了

感谢支持,已补上http://www.mcbbs.net/forum.php?mod=viewthread&tid=711833
作者: innc    时间: 2018-1-24 20:50
asd1282435812 发表于 2018-1-19 18:54
怎么没下载地址啦?

感谢,已补上http://www.mcbbs.net/forum.php?mod=viewthread&tid=711833
作者: Mr.Seven590    时间: 2018-1-28 02:48
本帖最后由 q805705693 于 2018-1-29 01:13 编辑

请问,是完全与设定文件夹里的文件保持一致且是md5一致吗?
如果有多余的文件,会清除掉吗?

要是能增加个可选mod的设置就好了233333



还有服务端与客户端之间的通讯协议是啥,tcp?udp?
主要是方便设置服务端的安全组设置

还有,
serverConfig.properties文件里的clientJAR字段就是设置的客户端的执行文件

这里的执行文件是什么意思,就是新版客户端吗?
如果有个例子来说明用法就好了


这个报错又是什么情况?
  1. 117.135.227.188:6156连接上来了!
  2. java.lang.reflect.InvocationTargetException
  3.         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  4.         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  5.         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  6.         at java.lang.reflect.Method.invoke(Method.java:498)
  7.         at top.metime.updater.server.net.Client.run(Client.java:63)
  8.         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
  9.         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
  10.         at java.lang.Thread.run(Thread.java:748)
  11. Caused by: java.io.FileNotFoundException: clientJars (No such file or directory)
  12.         at java.io.FileInputStream.open0(Native Method)
  13.         at java.io.FileInputStream.open(FileInputStream.java:195)
  14.         at java.io.FileInputStream.<init>(FileInputStream.java:138)
  15.         at top.metime.updater.server.net.NP.writeFile(NP.java:45)
  16.         at top.metime.updater.server.net.protocol.PV0.handle(PV0.java:33)
  17.         ... 8 more
  18. 117.135.227.188:6156断开了连接!
复制代码
——————————————更新————————————————
和我猜的一样,是clientJAR=没设置好,这个指向同目录下的最新版客户端,没有这个客户端就会报错。

同样,如果同目录下没有设置好的clientmods一样会报错

建议针对这俩报错特意设置一个信息提示


而且,多余的mod不会删除,只会保证有服务端的mod并且相同

bug报告:
1.自动启动启动器,会一次启动俩,很蛋疼
又出错了,找不到原因
  1. Exception in thread "MainService" java.lang.NullPointerException
  2.         at top.metime.updater.server.memory.MStorage$Builder.wle(MStorage.java:55)
  3.         at top.metime.updater.server.memory.MStorage$Builder.wle(MStorage.java:73)
  4.         at top.metime.updater.server.memory.MStorage$Builder.<init>(MStorage.java:48)
  5.         at top.metime.updater.server.tools.RulesLoader.loadRules(RulesLoader.java:28)
  6.         at top.metime.updater.server.Main.getRules(Main.java:90)
  7.         at top.metime.updater.server.init.CommandLine.reload(CommandLine.java:88)
  8.         at top.metime.updater.server.init.CommandLine.run(CommandLine.java:67)
  9.         at top.metime.updater.server.Main.main2(Main.java:48)
  10.         at top.metime.updater.server.Main.main(Main.java:34)
复制代码

————————————更新2————————————
该错误是由于命名不规范
clientmods中的mod名称不能有中文?或许某些特殊符号(可能%?)

只要规范英文命名肯定没问题

bug:忽略文件的功能实测无用。。还是说我**误?命名没错才对。。

作者: innc    时间: 2018-1-29 01:46
本帖最后由 innc 于 2018-1-29 01:51 编辑
q805705693 发表于 2018-1-28 02:48
请问,是完全与设定文件夹里的文件保持一致且是md5一致吗?
如果有多余的文件,会清除掉吗?


感谢反馈!多余文件无法清除的问题,没设置好就报错的问题,启动启动器的问题和忽略文件的问题,我会尽最快速度修复的。其实嘛,这个程序整个通讯过程都是tcp协议,不瞒你说。动态更新的大致流程就是把核心代码打包成jar,等到客户端连接上来的时候把核心代码给客户端发过去,然后客户端再运行,这次可能有点着急了,帮助文档有些地方也写的很模糊,下次我会尽可能写的详细,通俗易懂,最后感谢支持
作者: Mr.Seven590    时间: 2018-1-29 02:16
innc 发表于 2018-1-29 01:46
感谢反馈!多余文件无法清除的问题,没设置好就报错的问题,启动启动器的问题和忽略文件的问题,我会尽最 ...

哈!没事,感觉挺不错的,发展空间大。。。说实话挺感兴趣的,看了看源代码,发现了两段启动EXE的代码23333不同的方式,同样的效果。
虽然没系统学习过编程,兴趣还是有的,这或许可以作为我入坑java的动力源,因为能在这基础上修修改改出自己想要的特性,并且能成功应用,也是很有成就感了

对自己要求不高,巩固刚学的git......,看懂你的源码、原理,再能一定程度的修改一些,就心满意足了

说实话很巧,前几天正找到这个帖子,那时候还没更新,下载链接又挂了,于是自己苦心研究,怎么编译你的源码——怎么配置jdk——怎么编译这个项目(哇说实话cmd编译太蛋疼了,而且还没搞懂)——怎么用eclipse——编译成功尚未使用——惊喜的发现你的帖子更新了!顺带更新了波源码

说实话这野路子真不好,啥概念都不懂,主要是这面相对象编程的思想和以往的不一样。也傻啦吧唧的没去查这些概念,基础。果然还是得买本书或者看看视频什么的系统学习,基础很重要。

但是对于我这样的人,不喜欢学习了那么久没出点有用的成果

ps:半夜了,思想就是有点奇怪。
作者: dougou    时间: 2018-1-31 09:22
请问楼主,我vps里存在两个服,服务端路径的话是不是要把服务器的文件夹也写上
作者: innc    时间: 2018-2-2 16:48
dougou 发表于 2018-1-31 09:22
请问楼主,我vps里存在两个服,服务端路径的话是不是要把服务器的文件夹也写上 ...

不用啊,这个软件和服务器的文件夹没有任何联系,我猜你的两个服,两个服之间的mod肯定不会是一样的,那么就需要分别给两个服务器写两个不同规则
作者: innc    时间: 2018-2-2 17:19
q805705693 发表于 2018-1-29 02:16
哈!没事,感觉挺不错的,发展空间大。。。说实话挺感兴趣的,看了看源代码,发现了两段启动EXE的代码233 ...

我也是为了做插件才入的Java,可学了这么长时间,写出来的东西连自己看都真的费劲。简直就是在用java写c,真怀疑是不是学了假的java,不过现在也在慢慢改进呀。凡事都要个过程嘛。一起加油吧,学到手的东西多了,总有一天会派上用场的

苦于前几日想用ps3手柄玩win10版mc。不小心把驱动卸载了,寨板弄了好几天了驱动死活装不上,开发进度被迫停滞

另外git这个东西就和vi一样,入门困难,一旦入门之后感觉用起来非常爽的那种。我又想起来以前一个人玩极限模式,怕死掉,就用git把整个存档给维护起来,死了就回档
作者: volta薯片~    时间: 2018-2-5 08:59
很棒,从旧帖来的
作者: half_life    时间: 2018-2-8 10:20
食用方式与readme.md 不符 请楼主纠正
作者: 805781737    时间: 2018-2-13 13:48
innc 发表于 2017-8-1 13:44
可以试一下这个办法:
在mods文件夹里面再新建一个文件夹,让以后需要更新的mod都更新到这个文件夹里面, ...

楼主啊那么现在都18年2月了EXE启动的写了吗还有自动寻找java支持java7
作者: 805781737    时间: 2018-2-13 13:49
innc 发表于 2017-7-31 19:38
感谢建议,下次我会尽量做成exe自动寻找Java路径并能兼容java1.7

楼主啊那么现在都18年2月了EXE启动的写了吗还有自动寻找java支持java7
作者: innc    时间: 2018-2-14 17:13
805781737 发表于 2018-2-13 13:49
楼主啊那么现在都18年2月了EXE启动的写了吗还有自动寻找java支持java7

exe启动器我还在努力,苦于c++学习周期太长了,每天晚上只要有时间都有在看教程,最近准备换成kotlin但也在努力学习啦,有些类java7没有,所以只能用Java8来写,所以实在无法兼顾java7,加上不经常回家,只能每次借同学电脑写一点,进度有点慢还请谅解。
作者: innc    时间: 2018-2-14 17:14
half_life 发表于 2018-2-8 10:20
食用方式与readme.md 不符 请楼主纠正

收到.感谢指错,会尽快纠正
作者: Mr.Seven590    时间: 2018-3-5 00:56
我可是催更了啊~
作者: 823123868    时间: 2018-3-29 17:09
你好,我在你的客户端开源项目中提交了一次小更改(改得不好请不要打我
作者: Xiao萌新    时间: 2018-3-29 21:31
提示: 作者被禁止或删除 内容自动屏蔽
作者: 823123868    时间: 2018-3-30 12:37
你好,我写了一个比较详细的配置食用方法,如果你觉得有用的话 可以选择添加有用的内容到..吗
updater-1.1详细食用方法.zip (385.85 KB, 下载次数: 35)

作者: innc    时间: 2018-3-30 21:01
823123868 发表于 2018-3-30 12:37
你好,我写了一个比较详细的配置食用方法,如果你觉得有用的话 可以选择添加有用的内容到..吗

...

感谢提交更改,我都没注意到这个bug,只是最近因为有点大事实在没时间修复bug,就连写好的代码都忘了提交。知道昨天晚上coding给我发了封邮件我才注意到,,等这阵子忙完了。一定好好填坑。另外感谢提供的详细食用方法。下次发布新版本时一定会加上帖子里的。最后感谢支持啦
作者: innc    时间: 2018-4-11 22:56
823123868 发表于 2018-3-30 12:37
你好,我写了一个比较详细的配置食用方法,如果你觉得有用的话 可以选择添加有用的内容到..吗

...

新的版本已经把忽略文件无效的bug和没法删除文件的bug修复了,哦对了,还有新的食用方法
作者: Mr.Seven590    时间: 2018-4-19 23:23
本帖最后由 q805705693 于 2018-4-20 15:10 编辑

连接服务端有问题哦,连接不上






==================================
更新:
直接修改源代码编译之后能连接上了,但是无法下载mod,经常连mod的列表都显示不出来


作者: cp666    时间: 2018-5-2 16:44
用不来。。
作者: a15020968400    时间: 2018-5-25 12:00
客户端1.1和服务端1.2可以用,客户端1.2和服务端1.2看样子是用不了,但这样我发现什么忽略文件和删除文件还是老样子,完全错误。
作者: a1640727878    时间: 2018-5-25 18:18
其实我这里有一个想法,能不能那git当网盘然后,从git上自动下载缓存
作者: a1640727878    时间: 2018-5-25 18:19
说真的,我特别怕有人故意重复更新把服务器的宽带给撑爆了,要是用git的话,就不用怕了
作者: ksqeib445    时间: 2018-6-19 00:33
本帖最后由 shangenbo 于 2018-6-19 00:38 编辑


客户端报错

工具不生效
Exception in thread "main" java.lang.ClassNotFoundException: top.metime.updater.client.core.Main
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at cn.innc11.updater.client.loader.MainLoader.main(MainLoader.java:65)
        at cn.innc11.updater.client.loader.MainLoader.main(MainLoader.java:26)


作者: 2531402770    时间: 2018-7-18 13:38
协议测试未通过

作者: 2531402770    时间: 2018-7-18 13:51
823123868 发表于 2018-3-30 12:37
你好,我写了一个比较详细的配置食用方法,如果你觉得有用的话 可以选择添加有用的内容到..吗

...

能QQ聊下吗。。。。
作者: kaiyu    时间: 2018-7-19 23:54
好东西,感谢lz
作者: huai1132875844    时间: 2018-7-20 20:39
看了下原理 应该任何(容量不大)的程序都可以用这个方式来更新吧~
说起来这个 忽略文件  是只能忽略文件吗。。不能忽略目录吗~
作者: 7yCloud    时间: 2018-7-30 17:23
楼主  小工具打不开怎么办  我这是java8
作者: ctsgzs    时间: 2018-7-31 10:26
为什么客户端配置之后地址显示都是null呢?有点迷啊。
作者: 12312311a    时间: 2018-9-25 00:18
谢谢楼主分享软件
作者: huwei5201314789    时间: 2018-10-7 19:13
楼主在吗?,秒连接,秒断开怎么解决?按照说明书一步一步来,到最后情况,什么都设置好了,但是连接的时候,显示连接成功,然后第三秒,显示已断开,过程中根本没有传输任何文件,怎么解决?
作者: hjw_hjw    时间: 2018-11-21 16:23
楼主,我发现填了忽略列表仍然会更新。
是不是我忽略列表中的mod名为中文的原因?
作者: 漂浮    时间: 2019-1-5 03:49
两个都是1.2 协议未通过怎么回事???配置老半天
作者: 漂浮    时间: 2019-1-5 03:59
或者是一直在测试传输协议就一直不动了
作者: 漂浮    时间: 2019-1-5 04:17
什么问题都有....现在是下载速度为0
作者: 漂浮    时间: 2019-1-5 04:20
原来是我的操作问题,谢谢楼主!
作者: bitch_meow    时间: 2019-1-9 21:52
服务端点击RUN显示规则为空是怎么回事啊......明明已经配置好了,确认好几遍了。
作者: 黑崎丶一护    时间: 2019-2-5 08:54
这个似乎要架服务器烧钱吧= =作者真辛苦
作者: monseasd    时间: 2019-2-9 13:58
感谢楼主分享!
作者: HP9999    时间: 2019-3-30 17:59
q805705693 发表于 2018-4-19 23:23
连接服务端有问题哦,连接不上

解决了吗x求一个教程 我也是连不上
作者: Mr.Seven590    时间: 2019-3-31 14:01
HP9999 发表于 2019-3-30 17:59
解决了吗x求一个教程 我也是连不上

并没有已经放弃了
作者: EDWRF3    时间: 2019-3-31 20:19
6666666666666666666
作者: SnowWings    时间: 2019-4-5 15:04
本帖最后由 SnowWings 于 2019-4-5 22:39 编辑



是我星际了,没看仔细

  1. java -jar xxx.jar noui
复制代码

而不是
  1. java -jar xxx.jar -noui
复制代码


作者: 中华博    时间: 2019-6-18 23:37
有没有什么办法让托盘图标开机自动run?我每天自动开机开服的,这个不能自动开启的话就比较麻烦
作者: 2106758890    时间: 2019-7-2 14:30
为什么外网连不上,是不是映射的问题,那要怎么配置???
作者: 赵中华    时间: 2019-7-2 15:07
感谢大佬分享此软件
作者: xiaoXG    时间: 2019-7-11 12:37
请问怎么用java打开?要安装java环境?我用游戏的java打开不行
作者: 世予酱    时间: 2019-7-13 07:41
提示: 作者被禁止或删除 内容自动屏蔽
作者: 冰星    时间: 2019-7-18 18:47
功能强大,挺不错
作者: 7861513    时间: 2019-7-27 07:02
永久支持你
作者: 涩蒙子    时间: 2019-8-2 18:30
面板服怎么启动呢?
作者: 极地雪    时间: 2019-9-23 14:35
请问面板怎么食用
作者: hjw_hjw    时间: 2019-10-25 15:21
楼主,为什么我的按钮一直是红的?端口开了,有IP
作者: 1057499452    时间: 2019-11-29 17:44
坐等1.13版本的,顺便水一贴凑个数awa
作者: a14257725300    时间: 2019-11-29 18:47
不错  支持一下
作者: a2429317073    时间: 2020-1-1 22:30
问什么我服务器用外网的ip地址可以自动更新但是自己电脑连不上去
作者: 117779284    时间: 2020-1-14 09:31
一直卡在下载那里 就是不下载。。。
作者: 本诺先森    时间: 2020-1-14 15:35
客户端显示下载完成。
但是下载的mod并不在客户端的mods文件夹
神秘
作者: TUCAOEVER    时间: 2020-1-15 16:05
不知道为什么 服务器是绿的 客户端也正常可以连同 就是点开后2秒自动退出 没有任何反应也不会进行数据的下载
作者: innc    时间: 2020-1-22 11:46
117779284 发表于 2020-1-14 09:31
一直卡在下载那里 就是不下载。。。

可以提供一下配置文件和服务端程序的日志截图嘛
作者: innc    时间: 2020-1-22 11:47
TUCAOEVER 发表于 2020-1-15 16:05
不知道为什么 服务器是绿的 客户端也正常可以连同 就是点开后2秒自动退出 没有任何反应也不会进行数据的下 ...

可以提供一下配置文件和服务端程序的日志截图嘛,另外客户端程序是放在启动器旁边的吗