Skip to content

Commit 23e0782

Browse files
committed
Add vanilla server jar as a fallback
1 parent dc591df commit 23e0782

File tree

2 files changed

+22
-3
lines changed

2 files changed

+22
-3
lines changed

src/index.ts

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,20 @@ async function downloadFabricJar(minecraftVersion: string, directory: string) {
6969
);
7070
const installerVersion = installerVersions[0].version;
7171

72-
spinner.text = "Downloading Fabric";
72+
spinner.text = "Downloading Fabric server";
7373
const jarUrl = `https://meta.fabricmc.net/v2/versions/loader/${minecraftVersion}/${loaderVersion}/${installerVersion}/server/jar`;
74-
await downloadFile(jarUrl, directory, "fabric.jar");
74+
await downloadFile(jarUrl, directory, "server.jar");
75+
spinner.succeed();
76+
return true;
77+
}
78+
79+
async function downloadVanillaJar(version: MojangFullVersion) {
80+
const spinner = ora("Downloading vanilla server").start();
81+
if (!version.downloads.server) {
82+
spinner.fail("There is no server jar for this version");
83+
return false;
84+
}
85+
await downloadFile(version.downloads.server.url, directory, "server.jar");
7586
spinner.succeed();
7687
return true;
7788
}
@@ -250,6 +261,9 @@ if (fabricDownloaded) {
250261
: []),
251262
];
252263
await downloadMods(modIds, directory);
264+
} else {
265+
const downloadedVanillaJar = await downloadVanillaJar(fullVersionInformation);
266+
if (!downloadedVanillaJar) process.exit();
253267
}
254268

255269
const fileSpinner = ora("Writing extra files").start();
@@ -266,7 +280,7 @@ const startScriptPath = path.resolve(
266280
);
267281
await writeFile(
268282
startScriptPath,
269-
`${javaPath} -Xmx2G -jar fabric.jar nogui${windows ? "\nPAUSE" : ""}`
283+
`${javaPath} -Xmx2G -jar server.jar nogui${windows ? "\nPAUSE" : ""}`
270284
);
271285
if (!windows) {
272286
await chmod(startScriptPath, "755");

src/responseTypes.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,11 @@ export type MojangVersion = {
1717
url: string;
1818
};
1919
export type MojangFullVersion = {
20+
downloads: {
21+
server?: {
22+
url: string;
23+
};
24+
};
2025
javaVersion: {
2126
majorVersion: number;
2227
};

0 commit comments

Comments
 (0)