Skip to content

Instantly share code, notes, and snippets.

@schooldanlp6
Created June 20, 2025 22:46
Show Gist options
  • Select an option

  • Save schooldanlp6/344aeefc2bdf1ef459aedee354c151ff to your computer and use it in GitHub Desktop.

Select an option

Save schooldanlp6/344aeefc2bdf1ef459aedee354c151ff to your computer and use it in GitHub Desktop.
A *mildly stupid* problem and solution to patch legacy minecraft bukkit/spigot/paper jars

Step 1: Get software

Get the original vanilla minecraft server.jar and get the paper.jar in the same version (e.g. 1.8.8). I recommend using this service but proceed with caution as it technically goes against ToS of MC: https://jars.vexyhost.com/

Step 2: Patching

Instead of letting paper try to download from aws we will redirect it to our server.jar

danlp6@danlp6fw:~/Downloads/paper\ Hi DanLP6 Sat, 21 Jun 2025 00:27:28 +0200 56.800°C :$ java -jar paper-1.8.8-443.jar 
Downloading original jar...
Error downloading original jar
java.net.UnknownHostException: s3.amazonaws.com
	at java.base/sun.nio.ch.NioSocketImpl.connect(Unknown Source)
	at java.base/java.net.SocksSocketImpl.connect(Unknown Source)
	at java.base/java.net.Socket.connect(Unknown Source)
	at java.base/sun.security.ssl.SSLSocketImpl.connect(Unknown Source)
	at java.base/sun.security.ssl.BaseSSLSocketImpl.connect(Unknown Source)
	at java.base/sun.net.NetworkClient.doConnect(Unknown Source)
	at java.base/sun.net.www.http.HttpClient.openServer(Unknown Source)
	at java.base/sun.net.www.http.HttpClient.openServer(Unknown Source)
	at java.base/sun.net.www.protocol.https.HttpsClient.<init>(Unknown Source)
	at java.base/sun.net.www.protocol.https.HttpsClient.New(Unknown Source)
	at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(Unknown Source)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
	at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
	at java.base/java.net.URL.openStream(Unknown Source)
	at org.apache.commons.io.FileUtils.copyURLToFile(FileUtils.java:1460)
	at com.destroystokyo.paperclip.Paperclip.main(Paperclip.java:90)

Step 2 1/2

Change the filename of the original server.jar to minecraft_server.X.X.X.jar for 1.8.8 it would be: minecraft_server.1.8.8.jar

Step 2 2/2

Setup a basic python3 -m http.server -> it runs on http://localhost:8000

Step 3: Patch the paper.jar

  • extract the paper.jar like any zip archive (you also could change the filename to paper.jar.zip)
  • search for a file named patch.json and open it
  • search for this: "sourceUrl":
  • and replace with this: "sourceUrl":"http://localhost:8000/minecraft_server.X.X.X.jar" as I use 1.8.8 for me it is "sourceUrl":"http://localhost:8000/minecraft_server.1.8.8.jar"

Step 4 "recompile"

Just Zip the archive again and change the file extension to .jar

Step 5 First Run the jar

When running the Jar it will (while your python webserver is running) querry it and the python server should say something that a client connected.

Step 6 Stop the python server

Now to be clear you now don't need to run the server anymore the initial download is completet

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment