Advertisement
LiamBogur

Paper Server Manager [Auto-updating, auto-restarting] (CMD)

Jul 19th, 2020
1,379
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 1.97 KB | None | 0 0
  1. @echo off
  2. rem ---  CONFIG  ---
  3.  
  4. set Version=1.16.1
  5. set AutoUpdate=TRUE
  6. set ListVersions=FALSE
  7. set AutoRestart=TRUE
  8. set MaxRam=4096M
  9. set MinRam=4096M
  10. set JavaExe=java
  11. set "ExtraArgs=nogui"
  12.  
  13. rem NOTE: If you do not have cURL installed, set AutoUpdate to FALSE.
  14. rem       You can check if you have it installed by opening cmd and
  15. rem       typing curl and pressing enter.
  16.  
  17.  
  18.  
  19. rem ---  DO NOT EDIT BELOW UNLESS YOU KNOW WHAT YOU ARE DOING!  ---
  20.  
  21. title Paper Server Manager
  22. if /I %ListVersions%==TRUE (
  23.   for /f "tokens=*" %%a in ('curl -s https://papermc.io/api/v1/paper') do set URL=%%a
  24.   echo [BATCH] Supported Versions: %URL:~31,-2%
  25.   echo [BATCH] Press any key to exit.
  26.   pause >nul
  27.   exit /B
  28. )
  29. set LEN=0
  30. :LOOP
  31. for /f "tokens=*" %%a in ('echo %%Version:~^%LEN%') do set CUT=%%a%%
  32. for /f "tokens=*" %%a in ('echo %CUT%') do set CUT=%%a
  33. if not "%CUT%"=="ECHO is on." set /A LEN+=1 && goto :LOOP
  34. set /A "CUT=52+%LEN%"
  35. if /I %AutoUpdate%==TRUE (
  36.   echo [BATCH] Checking for updates...
  37.   for /f "tokens=*" %%a in ('curl -s https://papermc.io/api/v1/paper/%Version%') do set URL=%%a
  38.   for /f "tokens=*" %%a in ('echo %%URL:~^%CUT%') do set LEN=%%a%%
  39.   for /f "tokens=1,* delims=," %%a in ('echo %LEN%') do set URL=%%a
  40.   If exist Paper-%Version%-%URL:~0,-1%.jar (
  41.     echo [BATCH] Paper up to date!
  42.     set FILE=Paper-%Version%-%URL:~0,-1%.jar
  43.     goto :EOF
  44.   )
  45.   call :FINDFILE
  46.   if not %FILE%==x del %FILE%
  47.   echo [BATCH] Downloading update.
  48.   echo.
  49.   curl https://papermc.io/api/v1/paper/%Version%/%URL:~0,-1%/download -o Paper-%Version%-%URL:~0,-1%.jar
  50.   echo.
  51.   echo [BATCH] Paper updated!
  52.   set FILE=Paper-%Version%-%URL:~0,-1%.jar
  53. ) else ( call :FINDFILE )
  54.  
  55. :START
  56. echo [BATCH] Starting server...
  57. echo.
  58. %JavaExe% -Xmx%MaxRam% -Xms%MinRam% -jar %FILE% %ExtraArgs%
  59. echo.
  60. if /I %AutoRestart%==TRUE (
  61.   echo [BATCH] CTRL+C to exit (Auto-restarting in 5 seconds).
  62.   ping -n 5 127.0.0.1 >nul 2>nul
  63.   if %errorlevel%==0 goto START
  64. )
  65. exit /B
  66.  
  67. :FINDFILE
  68. set FILE=x
  69. for /F "tokens=*" %%g IN ('dir /B ^| findstr /I paper ^| findstr /I .jar') do set FILE=%%g
  70. goto :EOF
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement