LiteLDev / bdsdown

Downloader for Minecraft BDS
GNU General Public License v3.0
2 stars 2 forks source link

[Feature]: 建议检测BDS目录,在bds目录下就不必再执行下载 #7

Closed Hurry1027 closed 7 months ago

Hurry1027 commented 8 months ago

Is your feature request related to a problem? Please describe.

虽然说一键安装很方便,但网络情况不好bdsdown单线程下载太慢了,我一般使用idm在官网下载bds。 我尝试在lip执行目录/.cache/下手动放入bedrock-server-1.20.62.02.zip,但不知道为什么程序还是要重新下载bds。

Describe the solution you'd like

建议灵活检测BDS目录或bds.zip,在bds目录下就不必再执行下载。

Describe alternatives you've considered

No response

Additional context

No response

minimouse0 commented 8 months ago

我想恢复原来的把缓存放在C:\Users\用户名\.cache\bdsdown,然后替换这个目录里的缓存就可以跳过下载的特性,现在这个特性没有了之后好像就没有其他办法跳过下载了

minimouse0 commented 8 months ago

https://github.com/LiteLDev/bdsdown/commit/5f6d7b91698de460a6b77e7ba56aae73d5a4bd96
好像这个提交就是解决这个问题的,大家因为神秘力量不能顺利用bdsdown下载的等一下1.0.1吧

minimouse0 commented 7 months ago

找到一个可以解决问题的办法,就是直接把bdsdown替换成旧版

先执行lip install命令

Mar 16 17:52:59.373 [INFO] Downloading teeth and resolving dependencies...
Mar 16 17:53:03.889 [INFO] The following teeth will be installed:
Mar 16 17:53:03.889 [INFO]   github.com/LiteLDev/CrashLogger@1.1.1: CrashLogger
Mar 16 17:53:03.889 [INFO]   github.com/LiteLDev/levilamina-loc@1.0.1: levilamina-loc
Mar 16 17:53:03.890 [INFO]   github.com/LiteLDev/PeEditor@3.5.1: PeEditor
Mar 16 17:53:03.890 [INFO]   github.com/LiteLDev/PreLoader@1.5.1: PreLoader
Mar 16 17:53:03.890 [INFO]   github.com/LiteLDev/bdsdown-legacy@0.4.1: bdsdown-legacy
Mar 16 17:53:03.890 [INFO]   github.com/LiteLDev/bdsdown@0.5.1: bdsdown
Mar 16 17:53:03.890 [INFO]   github.com/LiteLDev/bds@1.20.62: Minecraft Bedrock Dedicated Server
Mar 16 17:53:03.890 [INFO]   github.com/LiteLDev/LeviLamina@0.9.4: LeviLamina
Mar 16 17:53:03.890 [INFO] Do you want to continue? [y/N]

这里先按正常步骤输入y回车
之后他会开始下载,并被稳定发挥的运营商掐断

y
Mar 16 17:54:39.874 [INFO] Installing teeth...
Mar 16 17:54:39.880 [INFO] Installing tooth github.com/LiteLDev/bds
17:54:40 INFO > This software only provides a convenient way to download and install Minecraft Bedrock Edition server
17:54:40 INFO > You must agree with the Minecraft End User License Agreement and Privacy Policy to continue
17:54:40 INFO > - Minecraft End User License Agreement   https://minecraft.net/terms
17:54:40 INFO > - Microsoft Privacy Policy               https://go.microsoft.com/fwlink/?LinkId=521839
48.00 KiB / 59.36 MiB [>__________________________________________________________________________] 0.08% 14.60 KiB p/s

之后按下Ctrl+C中断任务,如果是还没按Ctrl+C就下面出现什么http报错的,不用按Ctrl+C了,他自己已经结束了

降级bdsdown

这个时候去bdsdown的仓库github.com/LiteLDev/bdsdown/releases,找到1.0之前的版本,我用的是0.6.0,下载,解压
然后把里面的bdsdown.exe复制到服务器的安装目录(执行lip install的目录),替换掉之前的bdsdown
这样再执行lip install,你就会发现bdsdown的行为你就熟悉了,bdsdown的输出变成了这样:

 BDS Downloader | Distributed under the MIT License.
=====================================================
Before using this software, please read:
- Minecraft End User License Agreement   https://minecraft.net/terms
- Microsoft Privacy Policy               https://go.microsoft.com/fwlink/?LinkId=521839
Please enter y if you agree with the above terms: y
=====================================================
No version specified, using latest release version.
Latest version: 1.20.71.01
Checking cache...
 Cache not found.
Downloading BDS v1.20.71.01...

替换缓存

这个时候就可以像之前那样替换缓存了,但是这个时候你要注意ll和bds的版本,目前我发文的时候ll还没适配70,但是似乎是因为后面bdsdown改了什么东西,他提示了No version specified, using latest release version.,然后开始下载1.20.71,那这个时候就需要让他下载62,好在我们可以通过更改文件名欺骗bdsdown,接下来这样操作:

  1. 准备好ll目前适配的版本,以1.20.62为例
  2. 将bds放入旧版bdsdown的缓存目录,然后把文件名改成bdsdown检测到的bds最新版本,此处将1.20.62.012改成1.20.71.01

    完成安装

    至此缓存替换好了,再次执行lip install

    Mar 16 18:08:02.943 [INFO] Downloading teeth and resolving dependencies...
    Mar 16 18:08:06.297 [INFO] The following teeth will be installed:
    Mar 16 18:08:06.298 [INFO]   github.com/LiteLDev/PreLoader@1.5.1: PreLoader
    Mar 16 18:08:06.298 [INFO]   github.com/LiteLDev/bds@1.20.62: Minecraft Bedrock Dedicated Server
    Mar 16 18:08:06.298 [INFO]   github.com/LiteLDev/CrashLogger@1.1.1: CrashLogger
    Mar 16 18:08:06.298 [INFO]   github.com/LiteLDev/levilamina-loc@1.0.1: levilamina-loc
    Mar 16 18:08:06.298 [INFO]   github.com/LiteLDev/PeEditor@3.5.1: PeEditor
    Mar 16 18:08:06.299 [INFO]   github.com/LiteLDev/LeviLamina@0.9.4: LeviLamina
    Mar 16 18:08:06.299 [INFO] Do you want to continue? [y/N]
    y
    Mar 16 18:08:08.376 [INFO] Installing teeth...
    Mar 16 18:08:08.377 [INFO] Installing tooth github.com/LiteLDev/PreLoader
    Mar 16 18:08:08.492 [INFO] Installing tooth github.com/LiteLDev/bds
    BDS Downloader | Distributed under the MIT License.
    =====================================================
    Before using this software, please read:
    - Minecraft End User License Agreement   https://minecraft.net/terms
    - Microsoft Privacy Policy               https://go.microsoft.com/fwlink/?LinkId=521839
    Please enter y if you agree with the above terms: y
    =====================================================
    No version specified, using latest release version.
    Latest version: 1.20.71.01
    Checking cache...
    Found cache!
    Unziping cached files...
    Unzip complete!
    Install complete.
    Mar 16 18:08:35.054 [INFO] Installing tooth github.com/LiteLDev/CrashLogger
    Mar 16 18:08:35.083 [INFO] Installing tooth github.com/LiteLDev/levilamina-loc
    Mar 16 18:08:35.121 [INFO] Installing tooth github.com/LiteLDev/PeEditor
    Mar 16 18:08:35.184 [INFO] Installing tooth github.com/LiteLDev/LeviLamina
    [18:08:35.904] [info] LeviLamina ToolChain PeEditor v3.4.1
    [18:08:35.906] [info] Build Date CST Wed Jan 17 15:14:34 2024
    [18:08:35.912] [info] Configurations:
    [18:08:35.919] [info]   Old Mode:                       [false]
    [18:08:35.925] [info]   BDS Executable File:            [./bedrock_server.exe]
    [18:08:35.931] [info]   BDS PDB File:                   [./bedrock_server.pdb]
    [18:08:35.939] [info]   Output Dir:                     [./]
    [18:08:35.945] [info] Targets:
    [18:08:35.952] [info]   Modified BDS Executable:        [true]
    [18:08:35.958] [info]   Module Definition Files:        [false]
    [18:08:35.966] [info]   Import Library Files:           [false]
    [18:08:35.972] [info]   Symbol List File:               [false]
    [18:08:35.982] [info] Loading PDB file...
    [18:08:36.540] [info] Loaded 393205 symbols.
    [18:08:36.540] [info] Filtering symbols...
    [18:08:41.400] [info] Filtered 253435 symbols.
    [18:08:41.403] [info] Loading BDS executable file...
    [18:08:41.622] [info] Loaded BDS executable file successfully.
    [18:08:41.624] [info] Generating modified BDS executable file...
    [18:08:41.730] [info] Generated modified BDS executable file successfully.
    [18:08:41.732] [info] Backed up BDS executable file successfully.
    [18:08:41.735] [info] Done.
    Mar 16 18:08:41.901 [INFO] Done.
    18:08:49.080 INFO [PreLoader] Loading symbols from pdb...
    18:08:52.864 INFO [PreLoader] Loaded 597772 symbols
    18:08:52.870 INFO [PreLoader] Loading Reverse Lookup Table
    18:08:53.253 INFO [PreLoader] LeviLamina.dll Loaded.
    18:08:53.317 WARN [LeviLamina] LeviConfig 重写成功
    18:08:53.367 INFO [CrashLogger] 已成功启用崩溃记录器
    18:08:53.367 INFO [LeviLamina]
    18:08:53.368 INFO [LeviLamina]          _               _ _                    _
    18:08:53.368 INFO [LeviLamina]         | |    _____   _(_) |    __ _ _ __ ___ (_)_ __   __ _
    18:08:53.368 INFO [LeviLamina]         | |   / _ \ \ / / | |   / _` | '_ ` _ \| | '_ \ / _` |
    18:08:53.368 INFO [LeviLamina]         | |__|  __/\ V /| | |__| (_| | | | | | | | | | | (_| |
    18:08:53.369 INFO [LeviLamina]         |_____\___| \_/ |_|_____\__,_|_| |_| |_|_|_| |_|\__,_|
    18:08:53.369 INFO [LeviLamina]
    18:08:53.370 INFO [LeviLamina]         --------   Light-Weight BDS Plugin Loader   ----------
    18:08:53.370 INFO [LeviLamina]
    18:08:53.370 INFO [LeviLamina]
    18:08:53.370 INFO [LeviLamina] LeviLamina 是一个由 LGPLv3 授权的自由软件
    18:08:53.371 INFO [LeviLamina] 帮助我们翻译和改进文本 -> https://translate.liteldev.com/
    18:08:53.411 INFO [LeviLamina] 正在加载插件...
    18:08:53.446 INFO [LeviLamina] 已加载 0 个插件
    18:08:53.479 INFO [Server] setting up server logging...
    18:08:53.481 INFO [Server] Starting Server
    18:08:53.481 INFO [Server] Version: 1.20.62.02(ProtocolVersion 649) with LeviLamina-0.9.4+bc8b5dc8f
    18:08:53.482 INFO [Server] Session ID: e99ba6a3-e0f2-4971-8d1c-f22220d26c25
    18:08:53.482 INFO [Server] Build ID: 22010389
    18:08:53.482 INFO [Server] Branch: r/20_u6
    18:08:53.482 INFO [Server] Commit ID: ecfbe634e2e231921b3c799f34169d1dcaf5bd74
    18:08:53.482 INFO [Server] Configuration: Publish
    18:08:53.489 INFO [Server] Level Name: Bedrock level
    18:08:53.501 INFO [Server] No CDN config file found for dedicated server
    18:08:53.502 INFO [Server] Game mode: 0 Survival
    18:08:53.502 INFO [Server] Difficulty: 1 EASY
    18:08:53.506 INFO [Server] Content logging to console is enabled.
    18:08:54.214 INFO [Server] Opening level 'worlds/Bedrock level/db'
    18:08:58.003 INFO [Server] IPv4 supported, port: 19132: Used for gameplay and LAN discovery
    18:08:58.005 INFO [Server] IPv6 supported, port: 19133: Used for gameplay
    18:08:58.116 INFO [Server] Server started in (4.8s)! For help, type "help" or "?"
    18:08:58.117 INFO [Server] ================ TELEMETRY MESSAGE ===================
    18:08:58.119 INFO [Server] Server Telemetry is currently not enabled.
    18:08:58.120 INFO [Server] Enabling this telemetry helps us improve the game.
    18:08:58.120 INFO [Server]
    18:08:58.122 INFO [Server] To enable this feature, add the line 'emit-server-telemetry=true'
    18:08:58.123 INFO [Server] to the server.properties file in the handheld/src-server directory
    18:08:58.123 INFO [Server] ======================================================

    安装完成!

    安装完成后回到bdsdown缓存目录删除改过名的bds!!!否则后面很可能会出问题!!!

n15421 commented 7 months ago

刚刚看了一下安装流程 如果已有bds可以考虑创建一个/.lip./metadata/github.com%2FLitelDev%2Fbds.json,用liteldev/bds的release里对应的版本里的那个tooth.json内容来欺骗lip (稍后去测试,刚吃完没测试的亏)

n15421 commented 7 months ago

(我已经不知道这个小路解决方案应该放到哪个项目的issue里了,反正和bdsdown没关系[狗头])

n15421 commented 7 months ago

检测目录这里有一个问题在 如何判断已有bds版本,毕竟这个工具大概率和ll安装在一起,在原有tooth里为了删除旧版bds有一个remove栏目,这个时候就无法判断是原有的还是你想要覆盖的 反正都是头疼😂

n15421 commented 7 months ago

话说,直接md5怎么样 好麻烦的说那还得改version的获取等等 那就可以考虑在bdsdown执行目录存在BDSDOWN_DISABLE文件的时候让bdsdown装死? 还是欺骗lip吧,我去测试一下

n15421 commented 7 months ago

Screenshot_20240409_215119_com microsoft rdc android 看样子,应该是成功了