mirror of
				https://github.com/pelican-eggs/eggs.git
				synced 2025-10-31 17:08:06 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			62 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!\/bin\/ash
 | |
| # Paper Installation Script
 | |
| #
 | |
| # Server Files: \/mnt\/server
 | |
| PROJECT=purpur
 | |
| 
 | |
| # Download paths for Geyser and Floodgate. Do not change!!
 | |
| GEYSER_DOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Geyser\/job\/master\/lastSuccessfulBuild\/artifact\/bootstrap\/spigot\/target\/Geyser-Spigot.jar
 | |
| FLOODGATE_DOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job/GeyserMC\/job/Floodgate\/job/master\/lastSuccessfulBuild\/artifact\/spigot\/build\/libs\/floodgate-spigot.jar
 | |
| if [ -n \"${DL_PATH}\" ]; then
 | |
|     echo -e \"Using supplied download url: ${DL_PATH}\"
 | |
|     DOWNLOAD_URL=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`
 | |
| else
 | |
|     VER_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | contains($VERSION)' | grep true`
 | |
|     LATEST_VERSION=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r '.versions' | jq -r '.[-1]'`
 | |
| 
 | |
|     if [ \"${VER_EXISTS}\" == \"true\" ]; then
 | |
|         echo -e \"Version is valid. Using version ${MINECRAFT_VERSION}\"
 | |
|     else
 | |
|         echo -e \"Using the latest ${PROJECT} version\"
 | |
|         MINECRAFT_VERSION=${LATEST_VERSION}
 | |
|     fi
 | |
|     
 | |
|     BUILD_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all | tostring | contains($BUILD)' | grep true`
 | |
|     LATEST_BUILD=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r '.builds.latest'`
 | |
|     
 | |
|     if [ \"${BUILD_EXISTS}\" == \"true\" ]; then
 | |
|         echo -e \"Build is valid for version ${MINECRAFT_VERSION}. Using build ${BUILD_NUMBER}\"
 | |
|     else
 | |
|         echo -e \"Using the latest ${PROJECT} build for version ${MINECRAFT_VERSION}\"
 | |
|         BUILD_NUMBER=${LATEST_BUILD}
 | |
|     fi
 | |
|     
 | |
|     JAR_NAME=${PROJECT}-${MINECRAFT_VERSION}-${BUILD_NUMBER}.jar
 | |
|     
 | |
|     echo \"Version being downloaded\"
 | |
|     echo -e \"MC Version: ${MINECRAFT_VERSION}\"
 | |
|     echo -e \"Build: ${BUILD_NUMBER}\"
 | |
|     echo -e \"JAR Name of Build: ${JAR_NAME}\"
 | |
|     DOWNLOAD_URL=https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download
 | |
| fi
 | |
| 
 | |
| cd \/mnt\/server
 | |
| 
 | |
| echo -e \"Downloading the requested purpur buid with curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"
 | |
| 
 | |
| if [ -f ${SERVER_JARFILE} ]; then
 | |
|     mv ${SERVER_JARFILE} ${SERVER_JARFILE}.old
 | |
| fi
 | |
| mkdir -p \/mnt\/server\/plugins
 | |
| curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}
 | |
| 
 | |
| echo -e \"Downloading last successful build with curl -o plugins\/geyser-spigot ${GEYSER_DOWNLOAD_URL}\"
 | |
| curl -o plugins\/geyser-spigot.jar ${GEYSER_DOWNLOAD_URL}
 | |
| 
 | |
| echo -e \"Downloading last successful build with curl -o plugins\/floodgate-spigot ${FLOODGATE_DOWNLOAD_URL}\"
 | |
| curl -o plugins\/floodgate-spigot ${FLOODGATE_DOWNLOAD_URL}
 | |
| 
 | |
| if [ ! -f server.properties ]; then
 | |
|     echo -e \"Downloading MC server.properties\"
 | |
|     curl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/java\/server.properties
 | |
| fi |