Skip to content

Commit af0bc56

Browse files
Merge pull request #14 from AllTheMods/FIND-fix
fix for users with customized command prompt or PATH
2 parents 285fb4b + 80956ce commit af0bc56

File tree

2 files changed

+35
-32
lines changed

2 files changed

+35
-32
lines changed

Diff for: ServerStart.bat

+34-31
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,8 @@
7878

7979
SETLOCAL
8080
REM Internal Scripty stuff
81+
REM Define system root so we can run CORRECT version of things (like FIND)
82+
SET MC_SYS32=%SYSTEMROOT%\SYSTEM32
8183
REM default an error code in case error block is ran without this var being defined first
8284
SET MC_SERVER_ERROR_REASON=Unspecified
8385
REM this is a temp variable to use for intermidiate calculations and such
@@ -88,6 +90,7 @@ REM set "crash time" to initial script start
8890
SET MC_SERVER_CRASH_YYYYMMDD=%date:~10,4%%date:~4,2%%date:~7,2%
8991
SET MC_SERVER_CRASH_HHMMSS=%time:~0,2%%time:~3,2%%time:~6,2%
9092

93+
9194
REM delete log if already exists to start a fresh one
9295
IF EXIST "%~dp0serverstart.log" DEL /F /Q "%~dp0serverstart.log"
9396
ECHO. 1>> "%~dp0serverstart.log" 2>&1
@@ -115,52 +118,52 @@ ECHO DEBUG: settings.cfg Found. Logging full contents below: 1>> "%~dp0serverst
115118
>nul COPY "%~dp0serverstart.log"+"%~dp0settings.cfg" "%~dp0serverstart.log"
116119
ECHO. 1>> "%~dp0serverstart.log" 2>&1
117120

118-
>nul FIND /I "MAX_RAM=" "%~dp0settings.cfg" || (
121+
>nul %MC_SYS32%\FIND.EXE /I "MAX_RAM=" "%~dp0settings.cfg" || (
119122
SET MC_SERVER_ERROR_REASON=Settings.cfg_Error:MAX_RAM
120123
GOTO ERROR
121124
)
122125

123-
>nul FIND /I "JAVA_ARGS=" "%~dp0settings.cfg" || (
126+
>nul %MC_SYS32%\FIND.EXE /I "JAVA_ARGS=" "%~dp0settings.cfg" || (
124127
SET MC_SERVER_ERROR_REASON=Settings.cfg_Error:JAVA_ARGS
125128
GOTO ERROR
126129
)
127130

128-
>nul FIND /I "CRASH_COUNT=" "%~dp0settings.cfg" || (
131+
>nul %MC_SYS32%\FIND.EXE /I "CRASH_COUNT=" "%~dp0settings.cfg" || (
129132
SET MC_SERVER_ERROR_REASON=Settings.cfg_Error:CRASH_COUNT
130133
GOTO ERROR
131134
)
132135

133-
>nul FIND /I "CRASH_TIMER=" "%~dp0settings.cfg" || (
136+
>nul %MC_SYS32%\FIND.EXE /I "CRASH_TIMER=" "%~dp0settings.cfg" || (
134137
SET MC_SERVER_ERROR_REASON=Settings.cfg_Error:CRASH_TIMER
135138
GOTO ERROR
136139
)
137140

138-
>nul FIND /I "RUN_FROM_BAD_FOLDER=" "%~dp0settings.cfg" || (
141+
>nul %MC_SYS32%\FIND.EXE /I "RUN_FROM_BAD_FOLDER=" "%~dp0settings.cfg" || (
139142
SET MC_SERVER_ERROR_REASON=Settings.cfg_Error:RUN_FROM_BAD_FOLDER
140143
GOTO ERROR
141144
)
142145

143-
>nul FIND /I "IGNORE_OFFLINE=" "%~dp0settings.cfg" || (
146+
>nul %MC_SYS32%\FIND.EXE /I "IGNORE_OFFLINE=" "%~dp0settings.cfg" || (
144147
SET MC_SERVER_ERROR_REASON=Settings.cfg_Error:IGNORE_OFFLINE
145148
GOTO ERROR
146149
)
147150

148-
>nul FIND /I "IGNORE_JAVA_CHECK=" "%~dp0settings.cfg" || (
151+
>nul %MC_SYS32%\FIND.EXE /I "IGNORE_JAVA_CHECK=" "%~dp0settings.cfg" || (
149152
SET MC_SERVER_ERROR_REASON=Settings.cfg_Error:IGNORE_JAVA_CHECK
150153
GOTO ERROR
151154
)
152155

153-
>nul FIND /I "MCVER=" "%~dp0settings.cfg" || (
156+
>nul %MC_SYS32%\FIND.EXE /I "MCVER=" "%~dp0settings.cfg" || (
154157
SET MC_SERVER_ERROR_REASON=Settings.cfg_Error:MCVER
155158
GOTO ERROR
156159
)
157160

158-
>nul FIND /I "FORGEVER=" "%~dp0settings.cfg" || (
161+
>nul %MC_SYS32%\FIND.EXE /I "FORGEVER=" "%~dp0settings.cfg" || (
159162
SET MC_SERVER_ERROR_REASON=Settings.cfg_Error:FORGEVER
160163
GOTO ERROR
161164
)
162165

163-
>nul FIND /I "FORGEURL=" "%~dp0settings.cfg" || (
166+
>nul %MC_SYS32%\FIND.EXE /I "FORGEURL=" "%~dp0settings.cfg" || (
164167
SET MC_SERVER_ERROR_REASON=Settings.cfg_Error:FORGEURL
165168
GOTO ERROR
166169
)
@@ -254,13 +257,13 @@ ECHO INFO: Checking java installation...
254257
ECHO DEBUG: JAVA version output (java -d64 -version): 1>> "%~dp0serverstart.log" 2>&1
255258
java -d64 -version || GOTO JAVAERROR 1>> "%~dp0serverstart.log" 2>&1
256259

257-
java -d64 -version 2>&1 | FIND "1.8" 1>> "%~dp0serverstart.log" 2>&1
260+
java -d64 -version 2>&1 | %MC_SYS32%\FIND.EXE "1.8" 1>> "%~dp0serverstart.log" 2>&1
258261
IF %ERRORLEVEL% EQU 0 (
259262
ECHO INFO: Found 64-bit Java 1.8 1>> "%~dp0serverstart.log" 2>&1
260263
ECHO ...64-bit Java 1.8 found! 1>> "%~dp0serverstart.log" 2>&1
261264
GOTO CHECKFOLDER
262265
) ELSE (
263-
java -d64 -version 2>&1 | FIND "1.9" 1>> "%~dp0serverstart.log" 2>&1
266+
java -d64 -version 2>&1 | %MC_SYS32%\FIND.EXE "1.9" 1>> "%~dp0serverstart.log" 2>&1
264267
IF %ERRORLEVEL% EQU 0 (
265268
ECHO INFO: Found 64-bit Java 1.9 1>> "%~dp0serverstart.log" 2>&1
266269
ECHO ...64-bit Java 1.9 found!
@@ -299,26 +302,26 @@ ECHO INFO: Checking if current folder is valid... 1>> "%~dp0serverstart.log" 2>
299302

300303
REM Check if current directory is in ProgramFiles
301304
IF NOT DEFINED ProgramFiles ( GOTO CHECKPROG86 )
302-
ECHO.x%CD%x | FINDSTR /I /C:"%ProgramFiles%" >nul
305+
ECHO.x%CD%x | %MC_SYS32%\FINDSTR.EXE /I /C:"%ProgramFiles%" >nul
303306
REM ECHO Error Level: %ERRORLEVEL%
304307
IF %ERRORLEVEL% EQU 0 (
305308
SET MC_SERVER_ERROR_REASON=BadFolder-ProgramFiles;
306309
GOTO FOLDERERROR
307310
)
308-
ECHO.x%~dp0x | FINDSTR /I /C:"%ProgramFiles%" >nul
311+
ECHO.x%~dp0x | %MC_SYS32%\FINDSTR.EXE /I /C:"%ProgramFiles%" >nul
309312
IF %ERRORLEVEL% EQU 0 (
310313
SET MC_SERVER_ERROR_REASON=BadFolder-ProgramFiles;
311314
GOTO FOLDERERROR
312315
)
313316

314317
:CHECKPROG86
315318
IF NOT DEFINED ProgramFiles^(x86^) ( GOTO CHECKSYS )
316-
ECHO.x%CD%x | FINDSTR /I /C:"%ProgramFiles(x86)%" >nul
319+
ECHO.x%CD%x | %MC_SYS32%\FINDSTR.EXE /I /C:"%ProgramFiles(x86)%" >nul
317320
IF %ERRORLEVEL% EQU 0 (
318321
SET MC_SERVER_ERROR_REASON=BadFolder-ProgramFiles86;
319322
GOTO FOLDERERROR
320323
)
321-
ECHO.x%~dp0x | FINDSTR /I /C:"%ProgramFiles(x86)%" >nul
324+
ECHO.x%~dp0x | %MC_SYS32%\FINDSTR.EXE /I /C:"%ProgramFiles(x86)%" >nul
322325
IF %ERRORLEVEL% EQU 0 (
323326
SET MC_SERVER_ERROR_REASON=BadFolder-ProgramFiles86;
324327
GOTO FOLDERERROR
@@ -327,12 +330,12 @@ IF %ERRORLEVEL% EQU 0 (
327330
:CHECKSYS
328331
REM Check if current directory is in SystemRoot
329332
IF NOT DEFINED SystemRoot ( GOTO CHECKTEMP )
330-
ECHO.x%CD%x | FINDSTR /I /C:"%SystemRoot%" >nul
333+
ECHO.x%CD%x | %MC_SYS32%\FINDSTR.EXE /I /C:"%SystemRoot%" >nul
331334
IF %ERRORLEVEL% EQU 0 (
332335
SET MC_SERVER_ERROR_REASON=BadFolder-System;
333336
GOTO FOLDERERROR
334337
)
335-
ECHO.x%~dp0x | FINDSTR /I /C:"%SystemRoot%" >nul
338+
ECHO.x%~dp0x | %MC_SYS32%\FINDSTR.EXE /I /C:"%SystemRoot%" >nul
336339
IF %ERRORLEVEL% EQU 0 (
337340
SET MC_SERVER_ERROR_REASON=BadFolder-System;
338341
GOTO FOLDERERROR
@@ -341,25 +344,25 @@ IF %ERRORLEVEL% EQU 0 (
341344
:CHECKTEMP
342345
REM Check if current directory is in TEMP
343346
IF NOT DEFINED TEMP ( GOTO CHECKTMP )
344-
ECHO.x%CD%x | FINDSTR /I /C:"%TEMP%" >nul
347+
ECHO.x%CD%x | %MC_SYS32%\FINDSTR.EXE /I /C:"%TEMP%" >nul
345348
IF %ERRORLEVEL% EQU 0 (
346349
SET MC_SERVER_ERROR_REASON=BadFolder-Temp;
347350
GOTO FOLDERERROR
348351
)
349-
ECHO.x%~dp0x | FINDSTR /I /C:"%TEMP%" >nul
352+
ECHO.x%~dp0x | %MC_SYS32%\FINDSTR.EXE /I /C:"%TEMP%" >nul
350353
IF %ERRORLEVEL% EQU 0 (
351354
SET MC_SERVER_ERROR_REASON=BadFolder-Temp;
352355
GOTO FOLDERERROR
353356
)
354357

355358
:CHECKTMP
356359
IF NOT DEFINED TMP ( GOTO CHECKONLINE )
357-
ECHO.x%CD%x | FINDSTR /I /C:"%TMP%" >nul
360+
ECHO.x%CD%x | %MC_SYS32%\FINDSTR.EXE /I /C:"%TMP%" >nul
358361
IF %ERRORLEVEL% EQU 0 (
359362
SET MC_SERVER_ERROR_REASON=BadFolder-Temp;
360363
GOTO FOLDERERROR
361364
)
362-
ECHO.x%~dp0x | FINDSTR /I /C:"%TMP%" >nul
365+
ECHO.x%~dp0x | %MC_SYS32%\FINDSTR.EXE /I /C:"%TMP%" >nul
363366
IF %ERRORLEVEL% EQU 0 (
364367
SET MC_SERVER_ERROR_REASON=BadFolder-Temp;
365368
GOTO FOLDERERROR
@@ -385,7 +388,7 @@ ECHO Checking for basic internet connectivity...
385388
ECHO INFO: Checking for basic internet connectivity... 1>> "%~dp0serverstart.log" 2>&1
386389

387390
REM Try with Google DNS
388-
PING -n 2 -w 1000 8.8.8.8 | find "TTL=" 1>> "%~dp0serverstart.log" 2>&1
391+
%MC_SYS32%\PING.EXE -n 2 -w 1000 8.8.8.8 | %MC_SYS32%\FIND.EXE "TTL=" 1>> "%~dp0serverstart.log" 2>&1
389392
IF %ERRORLEVEL% EQU 0 (
390393
SET MC_SERVER_TMP_FLAG=0
391394
ECHO INFO: Ping of "8.8.8.8" Successfull 1>> "%~dp0serverstart.log" 2>&1
@@ -396,7 +399,7 @@ IF %ERRORLEVEL% EQU 0 (
396399

397400
REM If Google ping failed try one more time with L3 just in case
398401
IF MC_SERVER_TMP_FLAG EQU 1 (
399-
PING -n 2 -w 1000 4.2.2.1 | find "TTL=" 1>> "%~dp0serverstart.log" 2>&1
402+
%MC_SYS32%\PING.EXE -n 2 -w 1000 4.2.2.1 | %MC_SYS32%\FIND.EXE "TTL=" 1>> "%~dp0serverstart.log" 2>&1
400403
IF %ERRORLEVEL% EQU 0 (
401404
SET MC_SERVER_TMP_FLAG=0
402405
INFO: Ping of "4.4.2.1" Successfull 1>> "%~dp0serverstart.log" 2>&1
@@ -522,7 +525,7 @@ ECHO Clearing old files before installing forge/minecraft...
522525
ECHO INFO: Clearing and installing forge/minecraft... 1>> "%~dp0serverstart.log" 2>&1
523526

524527
REM Just in case there's anything pending or dupe-named before starting...
525-
bitsadmin /reset 1>> "%~dp0serverstart.log" 2>&1
528+
%MC_SYS32%\bitsadmin.exe /reset 1>> "%~dp0serverstart.log" 2>&1
526529

527530
(FOR /f "tokens=* delims=*" %%x in ('dir "%~dp0*forge*%MC_SERVER_MCVER%*%MC_SERVER_FORGEVER%*installer.jar" /B /O:-D') DO SET "MC_SERVER_TMP_FLAG=%%x" & GOTO INSTALL1) 1>> "%~dp0serverstart.log" 2>&1
528531

@@ -550,7 +553,7 @@ IF NOT %MC_SERVER_IGNORE_OFFLINE% EQU 0 (
550553
)
551554

552555
REM Ping minecraftforge before attempting download
553-
PING -n 2 -w 1000 minecraftforge.net | find "TTL=" 1>> "%~dp0serverstart.log" 2>&1
556+
%MC_SYS32%\PING.EXE -n 2 -w 1000 minecraftforge.net | %MC_SYS32%\FIND.EXE "TTL=" 1>> "%~dp0serverstart.log" 2>&1
554557
IF %ERRORLEVEL% EQU 0 (
555558
ECHO INFO: Ping of "minecraftforge.net" Successfull 1>> "%~dp0serverstart.log" 2>&1
556559
) ELSE (
@@ -582,7 +585,7 @@ SET MC_SERVER_TMP_FLAG=0
582585
:FETCHHTML
583586
REM Download Forge Download Index HTML to parse the URL for the direct download
584587
ECHO INFO: Fetching index html from forge ^( https://files.minecraftforge.net/maven/net/minecraftforge/forge/index_%MC_SERVER_MCVER%.html ^) 1>> "%~dp0serverstart.log" 2>&1
585-
bitsadmin /rawreturn /nowrap /transfer dlforgehtml /download /priority FOREGROUND "https://files.minecraftforge.net/maven/net/minecraftforge/forge/index_%MC_SERVER_MCVER%.html" "%~dp0forge-%MC_SERVER_MCVER%.html" 1>> "%~dp0serverstart.log" 2>&1
588+
%MC_SYS32%\bitsadmin.exe /rawreturn /nowrap /transfer dlforgehtml /download /priority FOREGROUND "https://files.minecraftforge.net/maven/net/minecraftforge/forge/index_%MC_SERVER_MCVER%.html" "%~dp0forge-%MC_SERVER_MCVER%.html" 1>> "%~dp0serverstart.log" 2>&1
586589

587590
IF NOT EXIST "%~dp0forge-%MC_SERVER_MCVER%.html" (
588591
IF "%MC_SERVER_TMP_FLAG%"=="0" (
@@ -613,7 +616,7 @@ REM )
613616
REM )
614617

615618
REM More complex wannabe-regex (aka magic)
616-
FOR /f tokens^=^5^ delims^=^=^<^>^" %%G in ('findstr /ir "http:\/\/files.*%MC_SERVER_FORGEVER%.*installer.jar" "%~dp0forge-%MC_SERVER_MCVER%.html"') DO SET MC_SERVER_FORGEURL=%%G & GOTO FETCHHTML1
619+
FOR /f tokens^=^5^ delims^=^=^<^>^" %%G in ('%MC_SYS32%\FINDSTR.EXE /ir "http:\/\/files.*%MC_SERVER_FORGEVER%.*installer.jar" "%~dp0forge-%MC_SERVER_MCVER%.html"') DO SET MC_SERVER_FORGEURL=%%G & GOTO FETCHHTML1
617620

618621
:FETCHHTML1
619622
IF "%MC_SERVER_FORGEURL%"=="%MC_SERVER_FORGEURL:installer.jar=%" (
@@ -633,7 +636,7 @@ SET MC_SERVER_TMP_FLAG=0
633636
:DOWNLOADINSTALLER
634637
REM Attempt to download installer to a temp download
635638
ECHO DEBUG: Attempting to download "%MC_SERVER_FORGEURL%" 1>> "%~dp0serverstart.log" 2>&1
636-
bitsadmin /rawreturn /nowrap /transfer dlforgeinstaller /download /priority FOREGROUND %MC_SERVER_FORGEURL% "%~dp0tmp-forgeinstaller.jar" 1>> "%~dp0serverstart.log" 2>&1
639+
%MC_SYS32%\bitsadmin.exe /rawreturn /nowrap /transfer dlforgeinstaller /download /priority FOREGROUND %MC_SERVER_FORGEURL% "%~dp0tmp-forgeinstaller.jar" 1>> "%~dp0serverstart.log" 2>&1
637640

638641
REM Check that temp-download installer was downloaded
639642
IF NOT EXIST "%~dp0tmp-forgeinstaller.jar" (
@@ -756,7 +759,7 @@ GOTO CLEANUP
756759
:RESTARTER
757760
COLOR 6F
758761
REM Quick-check EULA before commencing full restarter logic
759-
>nul FIND /I "eula=true" "%~dp0eula.txt" || (
762+
>nul %MC_SYS32%\FIND.EXE /I "eula=true" "%~dp0eula.txt" || (
760763
TITLE ERROR: EULA.TXT Must be updated before %MC_SERVER_PACKNAME% server can start
761764
CLS
762765
ECHO.
@@ -895,7 +898,7 @@ SET MC_SERVER_CRASH_YYYYMMDD=
895898
SET MC_SERVER_CRASH_HHMMSS=
896899

897900
REM Reset bitsadmin in case things got hung or errored
898-
bitsadmin /reset 1>> "%~dp0serverstart.log" 2>&1
901+
%MC_SYS32%\bitsadmin.exe /reset 1>> "%~dp0serverstart.log" 2>&1
899902

900903
COLOR
901904

Diff for: settings.cfg

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
;Details/Help Found here: https://github.com/AllTheMods/Server-Scripts
22

33
MAX_RAM=5G;
4-
JAVA_ARGS=-server -d64 -Xms1G -XX:+ExplicitGCInvokesConcurrent -XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses -XX:+UseConcMarkSweepGC -Dsun.rmi.dgc.server.gcInterval=2147483646 -XX:+UnlockExperimentalVMOptions -XX:MaxGCPauseMillis=50 -XX:UseSSE=3;
4+
JAVA_ARGS=-d64 -server -XX:+AggressiveOpts -XX:+UseConcMarkSweepGC -XX:+UnlockExperimentalVMOptions -XX:+UseParNewGC -XX:+ExplicitGCInvokesConcurrent -XX:MaxGCPauseMillis=20 -XX:GCPauseIntervalMillis=50 -XX:+UseFastAccessorMethods -XX:+OptimizeStringConcat -XX:NewSize=84m -XX:+UseAdaptiveGCBoundary -XX:NewRatio=3 -Dfml.queryResult=confirm -Dforge.debugRegistryEntries=true -Dfml.readTimeout=90 -Dfml.debugNetworkHandshake=true -Dfml.badPacketCounter=10;
55
CRASH_COUNT=10;
66
CRASH_TIMER=600;
77
RUN_FROM_BAD_FOLDER=0;

0 commit comments

Comments
 (0)