PojavAnge
我想要用命令行启动MC(Java MC 1.18.2),于是就用PCL生成了启动命令行,经过修改后测试确认没有问题,放到别的电脑(虚拟机)出现《系统找不到指定的路径》,我想应该就是路径问题,然后我就学ERROR422那样(422的启动脚本里没有明确目录,是"%CD%\.minecraft\........"),把路径里的("C:\User\Admin\Desktop\mc")全部替换成了("%CD%"),但是命令行无法运行了【已退出进程,代码为 255(0x000000ff)】,我是一个纯纯的白,连小白都算不上,大概也只会对照模板Ctrl C V了,谢谢大佬们指点

或者可以教我写一个100%万能的启动脚本,我需要用一下,嘿嘿嘿嘿

ea6d031_
可以使用相对路径,比如.\minecraft指当前目录下的Minecraft 文件夹
%cd%是一种变量,你得先定义它
虚拟机一般是没法开mc的,会有gl错误

the7211sds
虚拟机我从来就没有成功打开过mc应该是打开不了的

PojavAnge
the7211sds 发表于 2023-6-1 12:15
虚拟机我从来就没有成功打开过mc应该是打开不了的

他只是说路径错误,这是最显著的问题吧(大概)

PojavAnge
ea6d031_ 发表于 2023-6-1 09:44
可以使用相对路径,比如.\minecraft指当前目录下的Minecraft 文件夹
%cd%是一种变量,你得先定义它
虚拟机 ...

谢谢大佬,但是他说参数错误,依旧无法启动

ea6d031_
PojavAnge 发表于 2023-6-1 12:37
谢谢大佬,但是他说参数错误,依旧无法启动

怎么会呢?我是用hmcl安装的游戏,你看情况改改文件的路径啊

PojavAnge
ea6d031_ 发表于 2023-6-1 14:07
怎么会呢?我是用hmcl安装的游戏,你看情况改改文件的路径啊

没改是参数错误,改了是直接就打不开了

PojavAnge
ea6d031_ 发表于 2023-6-1 14:07
怎么会呢?我是用hmcl安装的游戏,你看情况改改文件的路径啊

我用PCL,可能是因为我的是Forge的版本,可我拿PCL按了一个原版也还是参数错误

破损的鞘翅
不如直接把你的脚本贴出来。


上面这个脚本用于启动1.19.4,只要修改java路径,和游戏根目录,并且保证游戏运行库是完整的,应该就能启动得起来

PojavAnge
破损的鞘翅 发表于 2023-6-1 14:47
不如直接把你的脚本贴出来。



Forge版也同理对吗

破损的鞘翅
PojavAnge 发表于 2023-6-1 14:50
Forge版也同理对吗

那具体要看forge版的启动脚本长什么样的
但关键的就3点,java路径,游戏根目录正确,且游戏运行库完整
pcl导出的脚本还包含了pcl的几个库的路径,如果你在从来没运行过pcl的电脑上启动pcl导出的脚本,也会出错,所以最好删掉pcl相关的部分

PojavAnge
破损的鞘翅 发表于 2023-6-1 15:13
那具体要看forge版的启动脚本长什么样的
但关键的就3点,java路径,游戏根目录正确,且游戏运行库完整
pc ...

可以帮忙写一个Forge的示例吗,1.18.2的,谢谢大佬了

破损的鞘翅
PojavAnge 发表于 2023-6-1 15:29
可以帮忙写一个Forge的示例吗,1.18.2的,谢谢大佬了

那我也得知道你要的forge的版本啊
你不如用你的pcl生成一个启动脚本,然后我看看怎么帮你修改

ea6d031_
破损的鞘翅 发表于 2023-6-1 15:13
那具体要看forge版的启动脚本长什么样的
但关键的就3点,java路径,游戏根目录正确,且游戏运行库完整
pc ...

他这个不好弄。首先预期的电脑mc路径不确定,其次不同版本运行库是不同的,甚至不同启动器都不一样…有fml就更复杂了…

ea6d031_
命令行启动mc客户端不现实…可以用CMCL 替代么?

PojavAnge
破损的鞘翅 发表于 2023-6-1 15:35
那我也得知道你要的forge的版本啊
你不如用你的pcl生成一个启动脚本,然后我看看怎么帮你修改 ...

附生成的脚本

游戏名称:TrainTown OL New
Forge版本:40.2.8
启动 TrainTown OL New.zip (2.41 KB, 下载次数: 0)






PojavAnge
ea6d031_ 发表于 2023-6-1 15:37
他这个不好弄。首先预期的电脑mc路径不确定,其次不同版本运行库是不同的,甚至不同启动器都不一样…有fm ...

mc路径就脚本同目录下的.minecraft吧,是固定的一个版本,是服务器的客户端,主要是我的腐竹太忙了,我给打下手,之前给他弄的自定义PCL他不太喜欢,他还说等我把这个搞好了给他的客户端更新器搞一个图形界面qwq

PojavAnge
ea6d031_ 发表于 2023-6-1 15:52
命令行启动mc客户端不现实…可以用CMCL 替代么?

腐竹的要求就是不依赖任何启动器

破损的鞘翅
PojavAnge 发表于 2023-6-1 16:10
附生成的脚本

游戏名称:TrainTown OL New


新建一个.bat,内容填上面的这一堆,然后把bat放到和.minecraft同级的那个目录下面,执行

脚本里,用户名和uuid都是写死的,所以你分发给别人的时候,要么得预先修改好,要么得要求他们自行修改
最好是把java环境一块放进你的整合包里

PojavAnge
破损的鞘翅 发表于 2023-6-1 16:35
新建一个.bat,内容填上面的这一堆,然后把bat放到和.minecraft同级的那个目录下面,执行

脚本里,用户 ...

那既然用户名是写死的,那游戏内用户切换模组还有效吗,还有就是有关PCL脚本删掉了吗,这次是真的谢谢大佬了,帮了我大忙

PojavAnge
破损的鞘翅 发表于 2023-6-1 16:35
新建一个.bat,内容填上面的这一堆,然后把bat放到和.minecraft同级的那个目录下面,执行

脚本里,用户 ...

如果我把Java目录放在.minecraft同级目录下(和bat,.minecraft在同一个文件夹),Java目录该怎么设置呢

破损的鞘翅
PojavAnge 发表于 2023-6-1 16:44
如果我把Java目录放在.minecraft同级目录下(和bat,.minecraft在同一个文件夹),Java目录该怎么设置呢 ...

游戏内用户切换模组应该还是可以用的

脚本前面几行里,有“设定java目录”,是这样的:
  1. set java=C:\Program Files\Java\jdk-17.0.5\bin
复制代码

那么我假设bat同级目录下的java长这样:\Java\jdk-17.0.5\bin
那么你只要改成
  1. set java=%cd%\Java\jdk-17.0.5\bin
复制代码

就可以了

%cd%指的就是当前脚本所在的目录

包括游戏目录,用户名,uuid,AccessToken也是如此修改

PojavAnge
破损的鞘翅 发表于 2023-6-1 16:56
游戏内用户切换模组应该还是可以用的

脚本前面几行里,有“设定java目录”,是这样的:

好我试试

PojavAnge
破损的鞘翅 发表于 2023-6-1 16:56
游戏内用户切换模组应该还是可以用的

脚本前面几行里,有“设定java目录”,是这样的:

大佬,我试了,你给的脚本也是双击后就退出,也不显示字,是直接闪退的,怎么办

PojavAnge
破损的鞘翅 发表于 2023-6-1 16:56
游戏内用户切换模组应该还是可以用的

脚本前面几行里,有“设定java目录”,是这样的:



破损的鞘翅

随便打开一个cmd窗口,然后把bat拖进去,回车,看看有什么反应

PojavAnge
破损的鞘翅 发表于 2023-6-1 18:44
随便打开一个cmd窗口,然后把bat拖进去,回车,看看有什么反应

好我稍等回家了试试

PojavAnge
破损的鞘翅 发表于 2023-6-1 18:44
随便打开一个cmd窗口,然后把bat拖进去,回车,看看有什么反应

如果出现“输入行过长”的提示,那么试试 ...

确实是命令行过长,大佬我输入了你新给的代码出现了这个

破损的鞘翅
PojavAnge 发表于 2023-6-1 21:00
确实是命令行过长,大佬我输入了你新给的代码出现了这个

呃呃是我的锅,java路径那边改成你的java路径
然后乱码是因为bat的编码问题。改成ANSI就好了

PojavAnge
破损的鞘翅 发表于 2023-6-1 21:05
呃呃是我的锅,java路径那边改成你的java路径
然后乱码是因为bat的编码问题。改成ANSI就好了 ...

我改成%cd%了,还是这样子(Java我复制到同级目录下了)

破损的鞘翅
PojavAnge 发表于 2023-6-1 21:17
我改成%cd%了,还是这样子(Java我复制到同级目录下了)

看看你改成什么了

PojavAnge
破损的鞘翅 发表于 2023-6-1 21:05
呃呃是我的锅,java路径那边改成你的java路径
然后乱码是因为bat的编码问题。改成ANSI就好了 ...

路径那些改了,编码也换成ANSI了,但是大佬,还是无法启动,这是什么

PojavAnge



xmdhs
要说命令行的话 https://www.mcbbs.net/thread-1072100-1-1.html

以及为什么要不依赖任何启动器。那耍个小聪明,用 curl.exe 下载我这个启动器到 tmp 文件夹,然后启动算是依赖吗。

甚至直接把启动器编码到 bat 文件夹里算依赖吗

破损的鞘翅

试试这个

如果不行的话,除了命令行中给出的信息,再提供一份pcl导出的,确定能打开游戏的启动脚本
对比他俩的差异更有利于找出问题

PojavAnge
破损的鞘翅 发表于 2023-6-1 21:51
试试这个

如果不行的话,除了命令行中给出的信息,再提供一份pcl导出的,确定能打开游戏的启动脚本

大佬,还是不行啊,和之前的代码是一样的报错

我腐竹看了后说是缺失东西,具体缺什么他也不知道

我生成了一个PCL的启动脚本,我发现和你的根本不一样,也不可能说对照来弥补,虽然还是麻烦大佬了,qwq

破损的鞘翅
PojavAnge 发表于 2023-6-1 22:27
大佬,还是不行啊,和之前的代码是一样的报错

我腐竹看了后说是缺失东西,具体缺什么他也不知道

我的意思是对照两个脚本的命令行参数,看看是参数格式还是哪里有问题……你直接对比两个脚本肯定一眼看上去不一样的

题外话


PojavAnge
破损的鞘翅 发表于 2023-6-1 22:43
我的意思是对照两个脚本的命令行参数,看看是参数格式还是哪里有问题……你直接对比两个脚本肯定一眼看上 ...

谢谢大佬了,我发现不是代码的问题,第一个输出段

(Error occurred during initialization of boot layer)

好像CSDN给的意思是jvm虚拟机不能启动好像,我还是想想看看怎么搞吧

PojavAnge
破损的鞘翅 发表于 2023-6-1 22:43
我的意思是对照两个脚本的命令行参数,看看是参数格式还是哪里有问题……你直接对比两个脚本肯定一眼看上 ...

谢谢大佬,虽然我最终是通过ps1脚本实现的,但还是要感谢你给我思路

CAT_REALMS
这里有另一个可以参考的办法
用这个命令行获取正在运行的mc的参数
然后把这些参数复制下来贴在bat里面
  1. wmic process where caption="javaw.exe" get caption,commandline /value>args.txt
复制代码

详见这个网页的启动参数-获取参数的小章节的内容
这样可以更好的自定义参数
代价是只能在当前电脑的当前路径运行同一个mc核心文件夹的游戏
但也好解决 把bat里的所有绝对路径改成相对路径就行了

第一页 上一页 下一页 最后一页