@@ -51,7 +51,6 @@ func downloadServerJar(version, loader, librariesDir string) error {
5151 downloadURL := fmt .Sprintf ("https://bmclapi2.bangbang93.com/version/%s/server" , version )
5252 var serverFileName string
5353
54- // 如果是 Forge,使用 bundled 版本
5554 if loader == "forge" {
5655 serverFileName = fmt .Sprintf ("server-%s-bundled.jar" , version )
5756 } else {
@@ -68,6 +67,15 @@ func downloadServerJar(version, loader, librariesDir string) error {
6867 return fmt .Errorf ("无法下载服务端文件 %s: %v" , serverPath , err )
6968 }
7069 fmt .Println ("下载完成 Minecraft 服务端:" , serverPath )
70+
71+ // 感谢SBforge改得到处都是
72+ if loader == "forge" {
73+ symlinkPath := fmt .Sprintf ("./minecraft_server.%s.jar" , version )
74+ if err := os .Symlink (serverPath , symlinkPath ); err != nil {
75+ return fmt .Errorf ("无法创建符号链接 %s -> %s: %v" , symlinkPath , serverPath , err )
76+ }
77+ fmt .Println ("符号链接已创建:" , symlinkPath , "->" , serverPath )
78+ }
7179 return nil
7280}
7381
@@ -268,7 +276,6 @@ func findJava() (string, bool) {
268276}
269277
270278func main () {
271- os .MkdirAll (".autoinst/cache" , os .ModePerm )
272279 instFile := "inst.json"
273280 var config InstConfig
274281 if _ , err := os .Stat (instFile ); err == nil {
@@ -308,12 +315,16 @@ func main() {
308315 fmt .Println ("操作已取消。" )
309316 return
310317 }
311- // 防御性准备
312318 if err := os .RemoveAll (dir ); err != nil {
313319 fmt .Println ("删除目录失败:" , err )
314320 return
315321 }
322+ if err := os .RemoveAll (".autoinst" ); err != nil {
323+ fmt .Println ("删除 .autoinst 目录失败:" , err )
324+ return
325+ }
316326 }
327+ os .MkdirAll (".autoinst/cache" , os .ModePerm )
317328 if config .Loader == "neoforge" && config .Download == "bmclapi" {
318329 installerURL := fmt .Sprintf (
319330 "https://bmclapi2.bangbang93.com/maven/net/neoforged/neoforge/%s/neoforge-%s-installer.jar" ,
0 commit comments