@dimzxzzx07/mc-headless 1.9.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -5,12 +5,12 @@
5
5
  </div>
6
6
 
7
7
  <div align="center">
8
- <img src="https://img.shields.io/badge/Version-1.9.0-2563eb?style=for-the-badge&logo=typescript" alt="Version">
8
+ <img src="https://img.shields.io/badge/Version-2.1.0-2563eb?style=for-the-badge&logo=typescript" alt="Version">
9
9
  <img src="https://img.shields.io/badge/License-MIT-green?style=for-the-badge&logo=open-source-initiative" alt="License">
10
10
  <img src="https://img.shields.io/badge/Node-18%2B-339933?style=for-the-badge&logo=nodedotjs" alt="Node">
11
11
  <img src="https://img.shields.io/badge/Java-Portable-007396?style=for-the-badge&logo=openjdk" alt="Java Portable">
12
12
  <img src="https://img.shields.io/badge/Termux-Friendly-00A98F?style=for-the-badge&logo=termux" alt="Termux">
13
- <img src="https://img.shields.io/badge/Stable-1.9.0-brightgreen?style=for-the-badge" alt="Stable">
13
+ <img src="https://img.shields.io/badge/Stable-2.1.0-brightgreen?style=for-the-badge" alt="Stable">
14
14
  </div>
15
15
 
16
16
  <div align="center">
@@ -33,7 +33,7 @@
33
33
  ## Table of Contents
34
34
 
35
35
  - [Overview](#overview)
36
- - [What's New in 1.9.0](#whats-new-in-190)
36
+ - [What's New in 2.1.0](#whats-new-in-210)
37
37
  - [Features](#features)
38
38
  - [Why MC-Headless?](#why-mc-headless)
39
39
  - [Installation](#installation)
@@ -70,9 +70,9 @@ Built specifically for developers, sysadmins, and Minecraft enthusiasts who want
70
70
 
71
71
  ---
72
72
 
73
- ## What's New in 1.9.0
73
+ ## What's New in 2.1.0
74
74
 
75
- ### Version 1.9.0 - March 2026
75
+ ### Version 2.1.0 - March 2026
76
76
 
77
77
  - **Portable Java** - Auto-download JRE to `/tmp` (no system installation required)
78
78
  - **Smart Java Detection** - Uses `which java` to check existing installation
@@ -140,7 +140,7 @@ wget https://github.com/SkinsRestorer/SkinsRestorerX/releases/latest/download/Sk
140
140
  tail -f logs/latest.log
141
141
  ```
142
142
 
143
- After (MC-Headless v1.9.0)
143
+ After (MC-Headless v2.1.0)
144
144
 
145
145
  ```javascript
146
146
  const server = new MinecraftServer({
@@ -298,7 +298,7 @@ async function startServer() {
298
298
  server.on("ready", (info) => {
299
299
  console.clear();
300
300
  console.log(`\n==========================================`);
301
- console.log(`Minecraft Server - v1.9.0`);
301
+ console.log(`Minecraft Server - v2.1.0`);
302
302
  console.log(` IP: ${publicIp}:${info.port}`);
303
303
  console.log(` Version: ${info.version}`);
304
304
  console.log(` Memory: ${info.memory.used}/${info.memory.max} MB`);
@@ -6,16 +6,17 @@ export interface JavaInfo {
6
6
  export declare class JavaChecker {
7
7
  private static logger;
8
8
  private static readonly JAVA_DIR;
9
- private static readonly JAVA_17_URL;
10
- private static readonly JAVA_21_URL;
11
- private static readonly JAVA_11_URL;
12
- private static readonly JAVA_8_URL;
9
+ private static readonly JAVA_URLS;
10
+ static getRequiredJavaVersion(serverVersion: string): '17' | '21';
13
11
  static checkJava(): Promise<boolean>;
14
12
  static getSystemJavaPath(): string | null;
15
13
  static getSystemJavaVersion(): string | null;
16
- static getOrDownloadPortableJava(version?: '17' | '21' | '11' | '8'): Promise<JavaInfo>;
17
- private static downloadFile;
18
- static ensureJava(version?: '17' | '21' | 'auto', usePortable?: boolean): Promise<JavaInfo>;
14
+ private static downloadWithCurl;
15
+ private static downloadWithWget;
16
+ private static downloadWithNode;
17
+ private static downloadWithFallback;
18
+ static getOrDownloadPortableJava(version: '17' | '21'): Promise<JavaInfo>;
19
+ static ensureJava(serverVersion: string, usePortable?: boolean): Promise<JavaInfo>;
19
20
  static cleanupOldJava(): void;
20
21
  }
21
22
  //# sourceMappingURL=JavaChecker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"JavaChecker.d.ts","sourceRoot":"","sources":["../../src/core/JavaChecker.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;CAC/B;AAED,qBAAa,WAAW;IACpB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAwB;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAA0C;IAC1E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAwI;IAC3K,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAwI;IAC3K,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAwI;IAC3K,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAkI;WAEhJ,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;WAenC,iBAAiB,IAAI,MAAM,GAAG,IAAI;WASlC,oBAAoB,IAAI,MAAM,GAAG,IAAI;WAc/B,yBAAyB,CAAC,OAAO,GAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,GAAU,GAAG,OAAO,CAAC,QAAQ,CAAC;IAmE1G,OAAO,CAAC,MAAM,CAAC,YAAY;WAyCP,UAAU,CAAC,OAAO,GAAE,IAAI,GAAG,IAAI,GAAG,MAAe,EAAE,WAAW,GAAE,OAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;WAqBxG,cAAc,IAAI,IAAI;CAkBvC"}
1
+ {"version":3,"file":"JavaChecker.d.ts","sourceRoot":"","sources":["../../src/core/JavaChecker.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;CAC/B;AAED,qBAAa,WAAW;IACpB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAwB;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAA0C;IAE1E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAS/B;WAEY,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;WAUpD,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;WAenC,iBAAiB,IAAI,MAAM,GAAG,IAAI;WASlC,oBAAoB,IAAI,MAAM,GAAG,IAAI;mBAc9B,gBAAgB;mBA0BhB,gBAAgB;mBA0BhB,gBAAgB;mBAsDhB,oBAAoB;WAoBrB,yBAAyB,CAAC,OAAO,EAAE,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC;WAqElE,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,GAAE,OAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;WAyBvF,cAAc,IAAI,IAAI;CAkBvC"}
@@ -38,15 +38,31 @@ const child_process_1 = require("child_process");
38
38
  const fs = __importStar(require("fs-extra"));
39
39
  const path = __importStar(require("path"));
40
40
  const https = __importStar(require("https"));
41
+ const http = __importStar(require("http"));
41
42
  const tar = __importStar(require("tar"));
42
43
  const Logger_1 = require("../utils/Logger");
43
44
  class JavaChecker {
44
45
  static logger = Logger_1.Logger.getInstance();
45
46
  static JAVA_DIR = path.join('/tmp', '.mc-headless-java');
46
- static JAVA_17_URL = 'https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.10%2B7/OpenJDK17U-jre_x64_linux_hotspot_17.0.10_7.tar.gz';
47
- static JAVA_21_URL = 'https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.2%2B13/OpenJDK21U-jre_x64_linux_hotspot_21.0.2_13.tar.gz';
48
- static JAVA_11_URL = 'https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.22%2B7/OpenJDK11U-jre_x64_linux_hotspot_11.0.22_7.tar.gz';
49
- static JAVA_8_URL = 'https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u402-b06/OpenJDK8U-jre_x64_linux_hotspot_8u402b06.tar.gz';
47
+ static JAVA_URLS = {
48
+ '21': [
49
+ 'https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz',
50
+ 'https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.2%2B13/OpenJDK21U-jdk_x64_linux_hotspot_21.0.2_13.tar.gz'
51
+ ],
52
+ '17': [
53
+ 'https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz',
54
+ 'https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.10%2B7/OpenJDK17U-jdk_x64_linux_hotspot_17.0.10_7.tar.gz'
55
+ ]
56
+ };
57
+ static getRequiredJavaVersion(serverVersion) {
58
+ if (serverVersion.startsWith('1.21') || serverVersion === '1.21.11') {
59
+ return '21';
60
+ }
61
+ if (serverVersion.startsWith('1.20') || serverVersion.startsWith('1.19') || serverVersion.startsWith('1.18')) {
62
+ return '17';
63
+ }
64
+ return '21';
65
+ }
50
66
  static async checkJava() {
51
67
  return new Promise((resolve) => {
52
68
  (0, child_process_1.exec)('which java', (error, stdout) => {
@@ -89,74 +105,76 @@ class JavaChecker {
89
105
  return null;
90
106
  }
91
107
  }
92
- static async getOrDownloadPortableJava(version = '17') {
93
- await fs.ensureDir(this.JAVA_DIR);
94
- const javaHome = path.join(this.JAVA_DIR, `jre-${version}`);
95
- const javaBin = path.join(javaHome, 'bin', 'java');
96
- if (await fs.pathExists(javaBin)) {
97
- this.logger.info(`Portable Java ${version} already exists at ${javaBin}`);
98
- const versionOutput = (0, child_process_1.execSync)(`"${javaBin}" -version 2>&1`).toString();
99
- this.logger.debug(`Portable Java version: ${versionOutput.split('\n')[0]}`);
100
- return {
101
- path: javaBin,
102
- version: version,
103
- type: 'portable'
104
- };
105
- }
106
- this.logger.info(`Downloading portable Java ${version} JRE...`);
107
- let downloadUrl = '';
108
- switch (version) {
109
- case '21':
110
- downloadUrl = this.JAVA_21_URL;
111
- break;
112
- case '17':
113
- downloadUrl = this.JAVA_17_URL;
114
- break;
115
- case '11':
116
- downloadUrl = this.JAVA_11_URL;
117
- break;
118
- case '8':
119
- downloadUrl = this.JAVA_8_URL;
120
- break;
121
- default:
122
- downloadUrl = this.JAVA_17_URL;
123
- }
124
- const tarPath = path.join(this.JAVA_DIR, `jre-${version}.tar.gz`);
125
- await this.downloadFile(downloadUrl, tarPath);
126
- this.logger.info(`Extracting Java ${version}...`);
127
- await fs.ensureDir(javaHome);
128
- await tar.extract({
129
- file: tarPath,
130
- cwd: javaHome,
131
- strip: 1
108
+ static async downloadWithCurl(url, destPath) {
109
+ return new Promise((resolve, reject) => {
110
+ this.logger.info(`Downloading with curl: ${url}`);
111
+ const curl = (0, child_process_1.exec)(`curl -L -o "${destPath}" "${url}"`, (error) => {
112
+ if (error) {
113
+ reject(error);
114
+ }
115
+ else {
116
+ resolve();
117
+ }
118
+ });
119
+ if (curl.stdout) {
120
+ curl.stdout.on('data', (data) => {
121
+ process.stdout.write(data);
122
+ });
123
+ }
124
+ if (curl.stderr) {
125
+ curl.stderr.on('data', (data) => {
126
+ process.stderr.write(data);
127
+ });
128
+ }
129
+ });
130
+ }
131
+ static async downloadWithWget(url, destPath) {
132
+ return new Promise((resolve, reject) => {
133
+ this.logger.info(`Downloading with wget: ${url}`);
134
+ const wget = (0, child_process_1.exec)(`wget -O "${destPath}" "${url}"`, (error) => {
135
+ if (error) {
136
+ reject(error);
137
+ }
138
+ else {
139
+ resolve();
140
+ }
141
+ });
142
+ if (wget.stdout) {
143
+ wget.stdout.on('data', (data) => {
144
+ process.stdout.write(data);
145
+ });
146
+ }
147
+ if (wget.stderr) {
148
+ wget.stderr.on('data', (data) => {
149
+ process.stderr.write(data);
150
+ });
151
+ }
132
152
  });
133
- await fs.remove(tarPath);
134
- await fs.chmod(javaBin, 0o755);
135
- this.logger.success(`Portable Java ${version} installed at ${javaBin}`);
136
- const versionOutput = (0, child_process_1.execSync)(`"${javaBin}" -version 2>&1`).toString();
137
- this.logger.debug(`Portable Java version: ${versionOutput.split('\n')[0]}`);
138
- return {
139
- path: javaBin,
140
- version: version,
141
- type: 'portable'
142
- };
143
153
  }
144
- static downloadFile(url, destPath) {
154
+ static async downloadWithNode(url, destPath) {
145
155
  return new Promise((resolve, reject) => {
146
- this.logger.info(`Downloading from ${url}`);
147
- const file = fs.createWriteStream(destPath);
148
- https.get(url, (response) => {
156
+ const protocol = url.startsWith('https') ? https : http;
157
+ const request = protocol.get(url, (response) => {
158
+ if (response.statusCode === 301 || response.statusCode === 302 || response.statusCode === 307 || response.statusCode === 308) {
159
+ const location = response.headers.location;
160
+ if (location) {
161
+ this.logger.info(`Redirecting to ${location}`);
162
+ this.downloadWithNode(location, destPath).then(resolve).catch(reject);
163
+ return;
164
+ }
165
+ }
149
166
  if (response.statusCode !== 200) {
150
167
  reject(new Error(`Download failed: ${response.statusCode}`));
151
168
  return;
152
169
  }
170
+ const file = fs.createWriteStream(destPath);
153
171
  const totalSize = parseInt(response.headers['content-length'] || '0');
154
172
  let downloadedSize = 0;
155
173
  response.on('data', (chunk) => {
156
174
  downloadedSize += chunk.length;
157
175
  if (totalSize > 0) {
158
176
  const percent = ((downloadedSize / totalSize) * 100).toFixed(1);
159
- process.stdout.write(`\rDownloading Java: ${percent}% (${(downloadedSize / 1024 / 1024).toFixed(1)} MB / ${(totalSize / 1024 / 1024).toFixed(1)} MB)`);
177
+ process.stdout.write(`\rDownloading Java: ${percent}% (${(downloadedSize / 1024 / 1024).toFixed(1)} MB)`);
160
178
  }
161
179
  });
162
180
  response.pipe(file);
@@ -169,29 +187,109 @@ class JavaChecker {
169
187
  fs.unlink(destPath).catch(() => { });
170
188
  reject(err);
171
189
  });
172
- }).on('error', (err) => {
190
+ });
191
+ request.on('error', (err) => {
173
192
  fs.unlink(destPath).catch(() => { });
174
193
  reject(err);
175
194
  });
195
+ request.end();
176
196
  });
177
197
  }
178
- static async ensureJava(version = 'auto', usePortable = true) {
179
- const targetVersion = version === 'auto' ? '17' : version;
198
+ static async downloadWithFallback(url, destPath) {
199
+ const downloaders = [
200
+ this.downloadWithCurl.bind(this),
201
+ this.downloadWithWget.bind(this),
202
+ this.downloadWithNode.bind(this)
203
+ ];
204
+ for (const downloader of downloaders) {
205
+ try {
206
+ await downloader(url, destPath);
207
+ return;
208
+ }
209
+ catch (error) {
210
+ const errorMessage = error instanceof Error ? error.message : String(error);
211
+ this.logger.warning(`Download method failed: ${errorMessage}`);
212
+ }
213
+ }
214
+ throw new Error('All download methods failed');
215
+ }
216
+ static async getOrDownloadPortableJava(version) {
217
+ await fs.ensureDir(this.JAVA_DIR);
218
+ const javaHome = path.join(this.JAVA_DIR, `jre-${version}`);
219
+ const javaBin = path.join(javaHome, 'bin', 'java');
220
+ if (await fs.pathExists(javaBin)) {
221
+ this.logger.info(`Portable Java ${version} already exists at ${javaBin}`);
222
+ try {
223
+ const versionOutput = (0, child_process_1.execSync)(`"${javaBin}" -version 2>&1`).toString();
224
+ this.logger.debug(`Portable Java version: ${versionOutput.split('\n')[0]}`);
225
+ return {
226
+ path: javaBin,
227
+ version: version,
228
+ type: 'portable'
229
+ };
230
+ }
231
+ catch (error) {
232
+ this.logger.warning(`Existing Java seems corrupted, re-downloading...`);
233
+ await fs.remove(javaHome);
234
+ }
235
+ }
236
+ const urls = this.JAVA_URLS[version] || this.JAVA_URLS['21'];
237
+ let lastError = null;
238
+ for (let i = 0; i < urls.length; i++) {
239
+ const url = urls[i];
240
+ const tarPath = path.join(this.JAVA_DIR, `jre-${version}-${i}.tar.gz`);
241
+ try {
242
+ this.logger.info(`Downloading portable Java ${version} (attempt ${i + 1}/${urls.length})...`);
243
+ this.logger.info(`URL: ${url}`);
244
+ await this.downloadWithFallback(url, tarPath);
245
+ this.logger.info(`Extracting Java ${version}...`);
246
+ await fs.ensureDir(javaHome);
247
+ await tar.extract({
248
+ file: tarPath,
249
+ cwd: javaHome,
250
+ strip: 1
251
+ });
252
+ await fs.remove(tarPath);
253
+ await fs.chmod(javaBin, 0o755);
254
+ this.logger.success(`Portable Java ${version} installed at ${javaBin}`);
255
+ const versionOutput = (0, child_process_1.execSync)(`"${javaBin}" -version 2>&1`).toString();
256
+ this.logger.debug(`Portable Java version: ${versionOutput.split('\n')[0]}`);
257
+ return {
258
+ path: javaBin,
259
+ version: version,
260
+ type: 'portable'
261
+ };
262
+ }
263
+ catch (error) {
264
+ lastError = error instanceof Error ? error : new Error(String(error));
265
+ this.logger.warning(`Attempt ${i + 1} failed: ${lastError.message}`);
266
+ await fs.remove(tarPath).catch(() => { });
267
+ }
268
+ }
269
+ throw new Error(`Failed to download Java ${version} after ${urls.length} attempts. Last error: ${lastError?.message}`);
270
+ }
271
+ static async ensureJava(serverVersion, usePortable = true) {
272
+ const requiredVersion = this.getRequiredJavaVersion(serverVersion);
273
+ this.logger.info(`Server requires Java ${requiredVersion}`);
180
274
  if (!usePortable) {
181
275
  const systemJava = this.getSystemJavaPath();
182
276
  if (systemJava) {
183
277
  const systemVersion = this.getSystemJavaVersion();
184
- if (systemVersion === targetVersion || (targetVersion === '17' && systemVersion === '21')) {
278
+ if (systemVersion === requiredVersion) {
185
279
  this.logger.success(`Using system Java ${systemVersion} at ${systemJava}`);
186
280
  return {
187
281
  path: systemJava,
188
- version: systemVersion || targetVersion,
282
+ version: systemVersion,
189
283
  type: 'system'
190
284
  };
191
285
  }
286
+ else {
287
+ this.logger.warning(`System Java is ${systemVersion}, but server needs Java ${requiredVersion}`);
288
+ }
192
289
  }
193
290
  }
194
- return this.getOrDownloadPortableJava(targetVersion);
291
+ this.logger.info(`Downloading portable Java ${requiredVersion}...`);
292
+ return this.getOrDownloadPortableJava(requiredVersion);
195
293
  }
196
294
  static cleanupOldJava() {
197
295
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"JavaChecker.js","sourceRoot":"","sources":["../../src/core/JavaChecker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JavaChecker.js","sourceRoot":"","sources":["../../src/core/JavaChecker.ts"],"names":[],"mappings":"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"}
@@ -59,11 +59,6 @@ export declare class MinecraftServer extends EventEmitter {
59
59
  constructor(userConfig?: MinecraftServerOptions);
60
60
  private detectCgroupLimits;
61
61
  private createEngine;
62
- private detectJavaVersion;
63
- private ensureJava;
64
- private installJavaLinux;
65
- private installJavaMac;
66
- private calculateWorldSize;
67
62
  private buildJavaArgs;
68
63
  private buildEnvironment;
69
64
  private processOwnerCommand;
@@ -93,5 +88,6 @@ export declare class MinecraftServer extends EventEmitter {
93
88
  private handlePlayerJoin;
94
89
  private handlePlayerLeave;
95
90
  private parseMemory;
91
+ private calculateWorldSize;
96
92
  }
97
93
  //# sourceMappingURL=MinecraftServer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MinecraftServer.d.ts","sourceRoot":"","sources":["../../src/core/MinecraftServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MinecraftServer.d.ts","sourceRoot":"","sources":["../../src/core/MinecraftServer.ts"],"names":[],"mappings":"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"}
@@ -171,157 +171,6 @@ class MinecraftServer extends events_1.EventEmitter {
171
171
  throw new Error(`Unsupported server type: ${this.config.type}`);
172
172
  }
173
173
  }
174
- async detectJavaVersion() {
175
- try {
176
- const output = (0, child_process_1.execSync)('java -version 2>&1').toString();
177
- if (output.includes('version "21')) {
178
- return '21';
179
- }
180
- else if (output.includes('version "17')) {
181
- return '17';
182
- }
183
- else if (output.includes('version "11')) {
184
- return '11';
185
- }
186
- else if (output.includes('version "8')) {
187
- return '8';
188
- }
189
- return 'unknown';
190
- }
191
- catch {
192
- return 'none';
193
- }
194
- }
195
- async ensureJava() {
196
- if (!this.options.autoInstallJava) {
197
- await JavaChecker_1.JavaChecker.ensureJava();
198
- return;
199
- }
200
- const targetVersion = this.options.javaVersion === 'auto' ? '17' : this.options.javaVersion || '17';
201
- if (this.options.usePortableJava) {
202
- this.javaInfo = await JavaChecker_1.JavaChecker.getOrDownloadPortableJava(targetVersion);
203
- this.javaCommand = this.javaInfo.path;
204
- this.logger.success(`Using portable Java ${this.javaInfo.version} from ${this.javaInfo.path}`);
205
- }
206
- else {
207
- const hasJava = await JavaChecker_1.JavaChecker.checkJava();
208
- if (!hasJava) {
209
- this.logger.info('Java not found, attempting to install system Java...');
210
- const osType = SystemDetector_1.SystemDetector.getOS();
211
- const distro = SystemDetector_1.SystemDetector.getDistro();
212
- if (osType === 'linux' || osType === 'android') {
213
- await this.installJavaLinux(distro, targetVersion);
214
- }
215
- else if (osType === 'darwin') {
216
- await this.installJavaMac(targetVersion);
217
- }
218
- else if (osType === 'windows') {
219
- this.logger.error('Windows detected. Please install Java manually from https://adoptium.net');
220
- throw new Error('Java not installed');
221
- }
222
- }
223
- else {
224
- const detectedVersion = await this.detectJavaVersion();
225
- this.logger.info(`Detected system Java version: ${detectedVersion}`);
226
- if (detectedVersion === '21' || detectedVersion === '17') {
227
- this.javaCommand = 'java';
228
- this.logger.success(`Using system Java ${detectedVersion}`);
229
- }
230
- else {
231
- this.logger.warning(`System Java ${detectedVersion} is not optimal. Switching to portable Java...`);
232
- this.javaInfo = await JavaChecker_1.JavaChecker.getOrDownloadPortableJava(targetVersion);
233
- this.javaCommand = this.javaInfo.path;
234
- }
235
- }
236
- }
237
- const finalVersion = this.javaInfo ? this.javaInfo.version : await this.detectJavaVersion();
238
- this.logger.success(`Java version: ${finalVersion}`);
239
- }
240
- async installJavaLinux(distro, version) {
241
- return new Promise((resolve, reject) => {
242
- let command = '';
243
- const javaPackage = version === '21' ? 'openjdk-21-jre-headless' : 'openjdk-17-jre-headless';
244
- if (distro === 'ubuntu' || distro === 'debian') {
245
- command = `apt update && apt install -y ${javaPackage}`;
246
- }
247
- else if (distro === 'centos' || distro === 'fedora') {
248
- command = `yum install -y java-${version}-openjdk-headless`;
249
- }
250
- else if (distro === 'arch') {
251
- const archPackage = version === '21' ? 'jre21-openjdk-headless' : 'jre17-openjdk-headless';
252
- command = `pacman -S --noconfirm ${archPackage}`;
253
- }
254
- else if (distro === 'termux') {
255
- command = 'pkg install -y openjdk-17';
256
- }
257
- else {
258
- this.logger.error('Unsupported Linux distribution. Please install Java manually.');
259
- reject(new Error('Unsupported distribution'));
260
- return;
261
- }
262
- this.logger.info(`Installing Java ${version} with: ${command}`);
263
- const install = (0, child_process_1.exec)(command, (error) => {
264
- if (error) {
265
- reject(error);
266
- }
267
- else {
268
- resolve();
269
- }
270
- });
271
- if (install.stdout) {
272
- install.stdout.pipe(process.stdout);
273
- }
274
- if (install.stderr) {
275
- install.stderr.pipe(process.stderr);
276
- }
277
- });
278
- }
279
- async installJavaMac(version) {
280
- return new Promise((resolve, reject) => {
281
- const command = `brew install openjdk@${version}`;
282
- this.logger.info(`Installing Java ${version} with: ${command}`);
283
- const install = (0, child_process_1.exec)(command, (error) => {
284
- if (error) {
285
- reject(error);
286
- }
287
- else {
288
- resolve();
289
- }
290
- });
291
- if (install.stdout) {
292
- install.stdout.pipe(process.stdout);
293
- }
294
- if (install.stderr) {
295
- install.stderr.pipe(process.stderr);
296
- }
297
- });
298
- }
299
- async calculateWorldSize() {
300
- try {
301
- const worldPath = path.join(process.cwd(), this.config.folders.world);
302
- if (!await fs.pathExists(worldPath))
303
- return 0;
304
- const getSize = async (dir) => {
305
- let total = 0;
306
- const files = await fs.readdir(dir);
307
- for (const file of files) {
308
- const filePath = path.join(dir, file);
309
- const stat = await fs.stat(filePath);
310
- if (stat.isDirectory()) {
311
- total += await getSize(filePath);
312
- }
313
- else {
314
- total += stat.size;
315
- }
316
- }
317
- return total;
318
- };
319
- return await getSize(worldPath);
320
- }
321
- catch {
322
- return 0;
323
- }
324
- }
325
174
  buildJavaArgs() {
326
175
  if (this.options.customJavaArgs && this.options.customJavaArgs.length > 0) {
327
176
  return this.options.customJavaArgs;
@@ -692,7 +541,9 @@ class MinecraftServer extends events_1.EventEmitter {
692
541
  if (this.owners.size > 0) {
693
542
  this.logger.info(`Owners configured: ${Array.from(this.owners).join(', ')}`);
694
543
  }
695
- await this.ensureJava();
544
+ this.javaInfo = await JavaChecker_1.JavaChecker.ensureJava(this.config.version, this.options.usePortableJava || false);
545
+ this.javaCommand = this.javaInfo.path;
546
+ this.logger.success(`Using Java ${this.javaInfo.version} (${this.javaInfo.type}) at ${this.javaInfo.path}`);
696
547
  const systemInfo = SystemDetector_1.SystemDetector.getSystemInfo();
697
548
  this.logger.debug('System info:', systemInfo);
698
549
  const serverDir = process.cwd();
@@ -1013,6 +864,32 @@ class MinecraftServer extends events_1.EventEmitter {
1013
864
  }
1014
865
  return value;
1015
866
  }
867
+ async calculateWorldSize() {
868
+ try {
869
+ const worldPath = path.join(process.cwd(), this.config.folders.world);
870
+ if (!await fs.pathExists(worldPath))
871
+ return 0;
872
+ const getSize = async (dir) => {
873
+ let total = 0;
874
+ const files = await fs.readdir(dir);
875
+ for (const file of files) {
876
+ const filePath = path.join(dir, file);
877
+ const stat = await fs.stat(filePath);
878
+ if (stat.isDirectory()) {
879
+ total += await getSize(filePath);
880
+ }
881
+ else {
882
+ total += stat.size;
883
+ }
884
+ }
885
+ return total;
886
+ };
887
+ return await getSize(worldPath);
888
+ }
889
+ catch {
890
+ return 0;
891
+ }
892
+ }
1016
893
  }
1017
894
  exports.MinecraftServer = MinecraftServer;
1018
895
  //# sourceMappingURL=MinecraftServer.js.map