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%那种令人捉急的情况)
第一次做视频有点紧张,十分建议打开字幕观看
一、2.0版本的新特性
1. 支持静态部署,支持对象存储服务、支持CDN(针对静态部署方式)
2. 支持集成到启动器,一键启动游戏
2. 两种工作模式支持,A模式:指定路径更新 和 B模式:指定文件更新
3. 支持用正则表达式过滤文件或者路径
4. 依然支持热更新的特性
5. 服务端使用php开发,可以将更新源挂到网站空间上,对面服极其友好(针对动态部署方式)
6. EXE打包,即使没有Jvav!!!环境也能正常运行
二、关于服务端部署方式的选择(很重要)
如果有现成的网站主机,建议选择使用动态部署(容易部署适合大多数服主和技术)
如果没有网站主机,或者想部署到CDN或者静态网站上的,选择静态部署(功能强大但需要花时间去配置)
三、帮助文档
新的版本已经整理好帮助文档了,文档尽量以书面化的语言的描述,准确无歧义
文档部署在GithubPages上,如果访问速度较慢请谅解(如果有能力,也可以直接点击下方的开源仓库查看帮助文档)
四、下载地址
如果喜欢本软件,请给作者留下一些鼓励的话哦
如果遇到问题,请选择一下方式之一,我看到会第一时间回复
1. 加入下方交流群(免审核,群里也有下载地址)
2. 加我的qq1805795356(备注mcbbs)
3. 站内私信(回复稍慢)
如果喜欢的话,能点个收藏就更好啦
由于文档页面的评论系统受到攻击,暂时下线评论功能
目前2.6版本已经发布,支持自定义程序主界面(HTML+CSS+JS)
新开了一个软件交流群 925057600
,欢迎大家进来聊聊天
(前期免审核),有问题也可以直接问群主(我)啦,如果手机在身边一般都会马上回复
五、项目开源地址
(如果喜欢可以给一颗小星星哦)
六、更新日志
热更新包:
2.4.7: 支持静态部署、支持集成到启动器(如HMCL),另外注意1.4版本和之前的版本协议不能互相兼容!
2.5: 支持向客户端程序报告发生的错误,在发生错误(比如网络原因)时会返回1而不是一直返回0 支持调整网站索引文件 修改了热更新包的文件名 调整了热更新包信号文件的路径(从`.minecraft/*.signal`->`.minecraft/updater/*.signal`) 调整了log文件的位置(`.minecraft/updater.log`->`.minecraft/logs/updater.log`)
2.5.1: 修复:找不到配置文件文件提示窗口显示时依赖配置文件内容的依赖问题 默认会自动创建log文件 优化了一些调试输出
2.5.2:
|
客户端:
2.0(a0915): 首次发布2.0版本
2.0.1(a0922): 修复了空格路径无法正常启动的问题
2.0.2(a1201): 增加对b64编码过的URL的处理支持
2.0.3(b0108): 支持集成到启动器(如HMCL)
2.1: 1.支持2.5版本热更新包 2.发生错误时会返回1而不是一直返回0 3.优化热更新包的调用逻辑 |
服务端:
2.0.1: (热更新包集成版本) 规范了客户端配置文件的命名
2.1: (热更新包集成版本) 制作了新的界面,取代了之前的终端界面,但是大小也大了不少
2.1.1:(热更新包集成版本) 修复了任务栏进度条在取消最小化后会丢失的问题
2.1.2:(热更新包集成版本) 重构了主代码逻辑,优化了一些进度的描述
2.2.0:(热更新包集成版本) 使用了新的配置文件逻辑,更加清晰明了、修复了报错信息框无法弹出来的问题
2.2.1:(热更新包集成版本) 增加对b64编码过的URL的处理支持
2.2.2:(热更新包集成版本) 修复子目录文件无法下载的问题、修复空文件夹无法创建的问题、修复无法弹出报错信息的问题、增加Content-Length缺失的情景处理、增加客户端窗口部分配置功能
2.3: 支持2.0版本热更新包 |
七、查毒报告
由于打包文件过大,无法上传查毒,我已为所有文件配置好了GithubActions自动构建,可以在Actions的构建输出里面找到Print Hash阶段,此步骤输出了构建文件的md5和sha1校验,可以与帮助文档中的文件和Releases中的文件进行对比。另外打包过程也是开源的,在.github/workflow/xx.yml文件中可以查阅
客户端 服务端: 热更新包: (2.4之前的版本合并到服务端里了)
小工具: |
以下内容已过时,不建议使用,仅做归档用途(2021年1月14日留)
a. 每此服务器添加或者删除了Mod、材质包后,都要在群里发一个全新压缩包。麻烦,耗时又耗力,某网盘下载又慢?
c. 当服务端修改一些文件之后,不用再下载整个客户端,在此程序的帮助下很方便地将客户端的对应文件保持和服务端的同步
特别注意
1. 本软件是一个软件,请独立运行,不要放到plugins文件夹或者Mods文件夹
2. 本软件运行要求最低是Java8
3. 面板服通常无法使用此软件(多数情况下),因为无法开启新的独立端口也没有主机终端可以操作,VPS则不受这个影响
更新记录
0.1
第一个版本发布
0.2
修复Java7无法运行的问题
0.3
移除以脚本来启动的机制,改为直接运行
1.0
修改通信协议,默认端口更换为28445
修改GUI界面,显示数据更详细
添加修改窗口标题的功能
添加AfterRun机制
1.0.1b1
添加对文件夹的支持
添加对多个文件夹的支持
添加对文件的比较(MD5)
添加对多个更新源的支持
修改默认端口为22123
添加多行AfterRun语句的支持
修改同步规则从客户端获取改为从服务端获取
1.0.1b2
修改默认端口为26542
修复文件极多的文件夹无法更新的问题
移除更新完后的提示框
1.0.1b3
1.添加GUI界面
1.1
添加动态执行机制
添加文件忽略机制
修改默认端口为5398
修改JRE最低要求为1.8或者更高版本
添加内置的帮助文档
1.2
将loader分离成一个单独的项目
修复"忽略文件"功能无法生效的问题
修复"无法删除应该被删除的文件/文件夹"的问题
1.2.1
优化代码,变更一些文字提示
1.2.2
底修复了客户端文件路径中含.(尤其是.minecraft目录)时忽略文件(夹)无效的问题
美化了一些客户端显示效果
1.2.1:
修复了一些传输机制的问题和优化部分代码效率,仓库从coding移动到github
1.2:
修复了文件名过长会乱码的bug和修复了忽略文件功能无效的bug,并增加了找不到核心包和更新源文件夹的提示信息,下次准备增加单独针对某个文件的更新规则的支持和以正则表达式来忽略的文件机制,另外1.1版本不能和1.2版本混用
1.2:
修复无法更新客户端根目录的问题
|
食用手册
第一次使用本软件强烈建议阅读:
建议请直接点击最上方目录进行导航
备用的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)
当初用这个时候还是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端口一个道理一个用法,两者是同等地位的,只要额外把这个端口映射出去客户端就可以更新了,但要注意updater和minecraft是两个不同的独立的软件,两者没有直接关系,两者端口不要相同(冲突)即可
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
直接运行,和启动器放在一起的
作者: 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
感谢建议,下次我会尽量做成exe自动寻找Java路径并能兼容java1.7
作者: zlzchuyue 时间: 2017-8-1 01:28
mod服表示,用了这个之后,每次更新后,玩家的小地图数据就没了,小地图数据存储在mods文件夹下的。。
作者: innc 时间: 2017-8-1 13:44
可以试一下这个办法:
在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:52
真是端口不通,不过端口怎么通?
作者: innc 时间: 2017-8-6 16:54
服务器是什么操作系统?公网可以访问吗
作者: an_an_an 时间: 2017-8-6 16:56
win2012R2,在MC上是可以连接的
作者: an_an_an 时间: 2017-8-6 17:00
抱歉,我去联系一下服务器商吧。。
作者: innc 时间: 2017-8-6 17:15
嗯,没事,可能是服务商没有开通端口把
作者: LUKX 时间: 2017-8-6 19:37
牛逼!希望多更新一下
作者: an_an_an 时间: 2017-8-7 11:10
端口开了,为毛还是连不上
作者: innc 时间: 2017-8-7 11:19
如果能确定端口是通的的话,看看配置文件里服务器的地址有没有差错,就是客户端的配置文件
作者: an_an_an 时间: 2017-8-7 11:24
IP是共享IP,而且给服务器商给域名掩了,不过逆域名检测也能查到IP
作者: innc 时间: 2017-8-7 11:29
能把客户端配置文件里写的内容pm我吗?
作者: innc 时间: 2017-8-7 11:31
嗯,感谢支持!
作者: 维达哎哎 时间: 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
能把rules.txt内容发我看下吗
作者: innc 时间: 2018-1-24 20:48
感谢支持,已经补上 http://www.mcbbs.net/forum.php?mod=viewthread&tid=711833
作者: innc 时间: 2018-1-24 20:49
试一下新版的可好,只要点点点 http://www.mcbbs.net/forum.php?mod=viewthread&tid=711833
作者: innc 时间: 2018-1-24 20:49
感谢支持,已补上http://www.mcbbs.net/forum.php?mod=viewthread&tid=711833
作者: innc 时间: 2018-1-24 20:49
感谢支持,已补上http://www.mcbbs.net/forum.php?mod=viewthread&tid=711833
作者: innc 时间: 2018-1-24 20:50
感谢,已补上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字段就是设置的客户端的执行文件
这里的执行文件是什么意思,就是新版客户端吗?
如果有个例子来说明用法就好了
这个报错又是什么情况?
- 117.135.227.188:6156连接上来了!
- java.lang.reflect.InvocationTargetException
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
- at java.lang.reflect.Method.invoke(Method.java:498)
- at top.metime.updater.server.net.Client.run(Client.java:63)
- at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
- at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
- at java.lang.Thread.run(Thread.java:748)
- Caused by: java.io.FileNotFoundException: clientJars (No such file or directory)
- at java.io.FileInputStream.open0(Native Method)
- at java.io.FileInputStream.open(FileInputStream.java:195)
- at java.io.FileInputStream.<init>(FileInputStream.java:138)
- at top.metime.updater.server.net.NP.writeFile(NP.java:45)
- at top.metime.updater.server.net.protocol.PV0.handle(PV0.java:33)
- ... 8 more
- 117.135.227.188:6156断开了连接!
复制代码 ——————————————更新————————————————
和我猜的一样,是clientJAR=没设置好,这个指向同目录下的最新版客户端,没有这个客户端就会报错。
同样,如果同目录下没有设置好的clientmods一样会报错
建议针对这俩报错特意设置一个信息提示
而且,多余的mod不会删除,只会保证有服务端的mod并且相同
bug报告:
1.自动启动启动器,会一次启动俩,很蛋疼
又出错了,找不到原因- Exception in thread "MainService" java.lang.NullPointerException
- at top.metime.updater.server.memory.MStorage$Builder.wle(MStorage.java:55)
- at top.metime.updater.server.memory.MStorage$Builder.wle(MStorage.java:73)
- at top.metime.updater.server.memory.MStorage$Builder.<init>(MStorage.java:48)
- at top.metime.updater.server.tools.RulesLoader.loadRules(RulesLoader.java:28)
- at top.metime.updater.server.Main.getRules(Main.java:90)
- at top.metime.updater.server.init.CommandLine.reload(CommandLine.java:88)
- at top.metime.updater.server.init.CommandLine.run(CommandLine.java:67)
- at top.metime.updater.server.Main.main2(Main.java:48)
- 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
哈!没事,感觉挺不错的,发展空间大。。。说实话挺感兴趣的,看了看源代码,发现了两段启动EXE的代码23333不同的方式,同样的效果。
虽然没系统学习过编程,兴趣还是有的,这或许可以作为我入坑java的动力源,因为能在这基础上修修改改出自己想要的特性,并且能成功应用,也是很有成就感了
对自己要求不高,巩固刚学的git......,看懂你的源码、原理,再能一定程度的修改一些,就心满意足了
。
说实话很巧,前几天正找到这个帖子,那时候还没更新,下载链接又挂了,于是自己苦心研究,怎么编译你的源码——怎么配置jdk——怎么编译这个项目(哇说实话cmd编译太蛋疼了,而且还没搞懂)——怎么用eclipse——编译成功尚未使用——惊喜的发现你的帖子更新了!顺带更新了波源码
说实话这野路子真不好,啥概念都不懂,主要是这面相对象编程的思想和以往的不一样。也傻啦吧唧的没去查这些概念,基础。果然还是得买本书或者看看视频什么的系统学习,基础很重要。
但是对于我这样的人,不喜欢学习了那么久没出点有用的成果
ps:半夜了,思想就是有点奇怪。
作者: dougou 时间: 2018-1-31 09:22
请问楼主,我vps里存在两个服,服务端路径的话是不是要把服务器的文件夹也写上
作者: innc 时间: 2018-2-2 16:48
不用啊,这个软件和服务器的文件夹没有任何联系,我猜你的两个服,两个服之间的mod肯定不会是一样的,那么就需要分别给两个服务器写两个不同规则
作者: innc 时间: 2018-2-2 17:19
我也是为了做插件才入的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
楼主啊那么现在都18年2月了EXE启动的写了吗还有自动寻找java支持java7
作者: 805781737 时间: 2018-2-13 13:49
楼主啊那么现在都18年2月了EXE启动的写了吗还有自动寻找java支持java7
作者: innc 时间: 2018-2-14 17:13
exe启动器我还在努力,苦于c++学习周期太长了,每天晚上只要有时间都有在看教程,最近准备换成kotlin但也在努力学习啦,有些类java7没有,所以只能用Java8来写,所以实在无法兼顾java7,加上不经常回家,只能每次借同学电脑写一点,进度有点慢还请谅解。
作者: innc 时间: 2018-2-14 17:14
收到.感谢指错,会尽快纠正
作者: 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
感谢提交更改,我都没注意到这个bug,只是最近因为有点大事实在没时间修复bug,就连写好的代码都忘了提交。知道昨天晚上coding给我发了封邮件我才注意到,,等这阵子忙完了。一定好好填坑。另外感谢提供的详细食用方法。下次发布新版本时一定会加上帖子里的。最后感谢支持啦
作者: innc 时间: 2018-4-11 22:56
新的版本已经把忽略文件无效的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
能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
解决了吗x求一个教程 我也是连不上
作者: Mr.Seven590 时间: 2019-3-31 14:01
并没有
已经放弃了
作者: EDWRF3 时间: 2019-3-31 20:19
6666666666666666666
作者: SnowWings 时间: 2019-4-5 15:04
本帖最后由 SnowWings 于 2019-4-5 22:39 编辑
希望能支持Linux(指没有桌面环境的Linux)…… |
是我星际了,没看仔细
是
而不是
作者: 中华博 时间: 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
可以提供一下配置文件和服务端程序的日志截图嘛
作者: innc 时间: 2020-1-22 11:47
可以提供一下配置文件和服务端程序的日志截图嘛,另外客户端程序是放在启动器旁边的吗