@@ -10,10 +10,21 @@ import (
1010 "strings"
1111)
1212
13- func RunInstaller (installerPath string , loader string , version string , loaderVersion string , Download string , simpfun bool ) error {
13+ func RunInstaller (installerPath string , loader string , version string , loaderVersion string , Download string , simpfun bool , mise bool ) error {
1414 var javaPath string
1515 if simpfun {
16- javaPath = "/usr/bin/jdk/jdk1.8.0_361/bin/java"
16+ if mise {
17+ if version < "1.17" {
18+ exec .Command ("mise use -g java@zulu-8.86.0.25" )
19+ } else if version >= "1.17" && version <= "1.20.3" {
20+ exec .Command ("mise use -g java@zulu-17.58.21" )
21+ } else {
22+ exec .Command ("mise use -g java@zulu-21.42.19" )
23+ }
24+ javaPath = "java"
25+ } else {
26+ javaPath = "/usr/bin/jdk/jdk1.8.0_361/bin/java"
27+ }
1728 } else {
1829 javaPath = "java"
1930 }
@@ -119,12 +130,71 @@ func RunScript(Version string, Loader string, LoaderVersion string, simpfun bool
119130 }
120131 }
121132 var scriptContent string
122- if Loader == "forge" {
123- scriptContent = fmt .Sprintf ("java @libraries/net/minecraftforge/forge/%s-%s/unix_args.txt \" $@\" " , Version , LoaderVersion )
124- } else if Loader == "neoforge" {
125- scriptContent = fmt .Sprintf ("java @libraries/net/neoforged/neoforge/%s/unix_args.txt \" $@\" " , LoaderVersion )
126- } else if Loader == "fabric" {
127- scriptContent = "java -jar fabric-server-launch.jar"
133+ var javaPath string
134+ if simpfun {
135+ if mise {
136+ if Version < "1.17" {
137+ exec .Command ("mise use -g java@zulu-8.86.0.25" )
138+ } else if Version >= "1.17" && Version <= "1.20.3" {
139+ exec .Command ("mise use -g java@zulu-17.58.21" )
140+ } else {
141+ exec .Command ("mise use -g java@zulu-21.42.19" )
142+ }
143+ javaPath = "java"
144+ // 感谢aio镜像不支持
145+ if _ , err := os .Stat ("server.properties" ); os .IsNotExist (err ) {
146+ file , err := os .Create ("server.properties" )
147+ if err != nil {
148+ fmt .Println ("创建 server.properties 失败:" , err )
149+ } else {
150+ defer file .Close ()
151+ }
152+ serverPort := os .Getenv ("SERVER_PORT" )
153+ if serverPort == "" {
154+ serverPort = "25565"
155+ }
156+ content := ""
157+ exists := false
158+ if data , err := os .ReadFile ("server.properties" ); err == nil {
159+ lines := strings .Split (string (data ), "\n " )
160+ for _ , line := range lines {
161+ if strings .HasPrefix (line , "server-ip=" ) || strings .HasPrefix (line , "enable-query=" ) {
162+ exists = true
163+ break
164+ }
165+ }
166+ }
167+ if ! exists {
168+ content = fmt .Sprintf ("server-ip=0.0.0.0\n enable-query=%s\n " , serverPort )
169+ }
170+ if _ , err := file .WriteString (content ); err != nil {
171+ fmt .Println ("写入 server.properties 失败:" , err )
172+ }
173+ }
174+ } else {
175+ if Version < "1.17" {
176+ javaPath = "/usr/bin/jdk/jdk1.8.0_361/bin/java"
177+ } else if Version >= "1.17" && Version <= "1.20.3" {
178+ javaPath = "/usr/bin/jdk/jdk-17.0.6/bin/java"
179+ } else {
180+ javaPath = "/usr/bin/jdk/jdk-21.0.2/bin/java"
181+ }
182+ }
183+ if Loader == "forge" {
184+ scriptContent = fmt .Sprintf (javaPath + " @libraries/net/minecraftforge/forge/%s-%s/unix_args.txt \" $@\" " , Version , LoaderVersion )
185+ } else if Loader == "neoforge" {
186+ scriptContent = fmt .Sprintf (javaPath + " @libraries/net/neoforged/neoforge/%s/unix_args.txt \" $@\" " , LoaderVersion )
187+ } else if Loader == "fabric" {
188+ scriptContent = javaPath + " -jar fabric-server-launch.jar"
189+ }
190+ } else {
191+ if Loader == "forge" {
192+ scriptContent = fmt .Sprintf ("java @libraries/net/minecraftforge/forge/%s-%s/unix_args.txt \" $@\" " , Version , LoaderVersion )
193+ } else if Loader == "neoforge" {
194+ scriptContent = fmt .Sprintf ("java @libraries/net/neoforged/neoforge/%s/unix_args.txt \" $@\" " , LoaderVersion )
195+ } else if Loader == "fabric" {
196+ scriptContent = "java -jar fabric-server-launch.jar"
197+ }
128198 }
129199 file , err := os .Create ("run.sh" )
130200 if err != nil {
0 commit comments