@dimzxzzx07/mc-headless 2.2.1 → 2.2.3

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.
Files changed (35) hide show
  1. package/README.md +658 -765
  2. package/dist/core/JavaChecker.d.ts +8 -2
  3. package/dist/core/JavaChecker.d.ts.map +1 -1
  4. package/dist/core/JavaChecker.js +219 -104
  5. package/dist/core/JavaChecker.js.map +1 -1
  6. package/dist/core/MinecraftServer.d.ts +17 -32
  7. package/dist/core/MinecraftServer.d.ts.map +1 -1
  8. package/dist/core/MinecraftServer.js +449 -186
  9. package/dist/core/MinecraftServer.js.map +1 -1
  10. package/dist/index.d.ts +19 -18
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +40 -18
  13. package/dist/index.js.map +1 -1
  14. package/dist/platforms/GeyserBridge.d.ts +21 -3
  15. package/dist/platforms/GeyserBridge.d.ts.map +1 -1
  16. package/dist/platforms/GeyserBridge.js +160 -60
  17. package/dist/platforms/GeyserBridge.js.map +1 -1
  18. package/dist/platforms/PluginManager.d.ts +16 -0
  19. package/dist/platforms/PluginManager.d.ts.map +1 -0
  20. package/dist/platforms/PluginManager.js +208 -0
  21. package/dist/platforms/PluginManager.js.map +1 -0
  22. package/dist/platforms/ViaVersion.d.ts +1 -7
  23. package/dist/platforms/ViaVersion.d.ts.map +1 -1
  24. package/dist/platforms/ViaVersion.js +23 -87
  25. package/dist/platforms/ViaVersion.js.map +1 -1
  26. package/dist/types/index.d.ts +189 -0
  27. package/dist/types/index.d.ts.map +1 -1
  28. package/package.json +4 -2
  29. package/src/core/JavaChecker.ts +224 -108
  30. package/src/core/MinecraftServer.ts +540 -254
  31. package/src/index.ts +19 -19
  32. package/src/platforms/GeyserBridge.ts +196 -80
  33. package/src/platforms/PluginManager.ts +206 -0
  34. package/src/platforms/ViaVersion.ts +26 -107
  35. package/src/types/index.ts +206 -0
@@ -1 +1 @@
1
- {"version":3,"file":"GeyserBridge.js","sourceRoot":"","sources":["../../src/platforms/GeyserBridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GeyserBridge.js","sourceRoot":"","sources":["../../src/platforms/GeyserBridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export declare class PluginManager {
2
+ private logger;
3
+ installPlugin(name: string, url: string, pluginsDir: string): Promise<void>;
4
+ installMultiple(plugins: Array<{
5
+ name: string;
6
+ url: string;
7
+ }>, pluginsDir: string): Promise<void>;
8
+ installFromGithub(repo: string, assetName: string, pluginsDir: string): Promise<void>;
9
+ updatePlugin(name: string, url: string, pluginsDir: string): Promise<void>;
10
+ removePlugin(name: string, pluginsDir: string): Promise<void>;
11
+ listPlugins(pluginsDir: string): Promise<string[]>;
12
+ getPluginInfo(pluginName: string, pluginsDir: string): Promise<any>;
13
+ verifyPlugin(pluginName: string, pluginsDir: string): Promise<boolean>;
14
+ cleanupCorruptPlugins(pluginsDir: string): Promise<number>;
15
+ }
16
+ //# sourceMappingURL=PluginManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginManager.d.ts","sourceRoot":"","sources":["../../src/platforms/PluginManager.ts"],"names":[],"mappings":"AAWA,qBAAa,aAAa;IACtB,OAAO,CAAC,MAAM,CAAwB;IAEzB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6C3E,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAC,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW/F,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BrF,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU1E,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS7D,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IASlD,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAgBnE,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAwBtE,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAwC1E"}
@@ -0,0 +1,208 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.PluginManager = void 0;
40
+ const FileUtils_1 = require("../utils/FileUtils");
41
+ const Logger_1 = require("../utils/Logger");
42
+ const path = __importStar(require("path"));
43
+ const axios_1 = __importDefault(require("axios"));
44
+ const fs = __importStar(require("fs-extra"));
45
+ const stream = __importStar(require("stream"));
46
+ const util = __importStar(require("util"));
47
+ const pipeline = util.promisify(stream.pipeline);
48
+ const finished = util.promisify(stream.finished);
49
+ class PluginManager {
50
+ logger = Logger_1.Logger.getInstance();
51
+ async installPlugin(name, url, pluginsDir) {
52
+ const pluginJar = path.join(pluginsDir, `${name}.jar`);
53
+ if (await FileUtils_1.FileUtils.fileExists(pluginJar)) {
54
+ this.logger.info(`${name} already exists, skipping download`);
55
+ return;
56
+ }
57
+ this.logger.info(`Downloading ${name}...`);
58
+ try {
59
+ const response = await (0, axios_1.default)({
60
+ method: 'GET',
61
+ url: url,
62
+ responseType: 'stream',
63
+ timeout: 60000,
64
+ headers: {
65
+ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
66
+ 'Accept': 'application/octet-stream'
67
+ },
68
+ maxRedirects: 5
69
+ });
70
+ if (response.status !== 200) {
71
+ throw new Error(`HTTP ${response.status}`);
72
+ }
73
+ const writer = fs.createWriteStream(pluginJar);
74
+ await pipeline(response.data, writer);
75
+ await finished(writer);
76
+ const stats = await fs.stat(pluginJar);
77
+ if (stats.size < 100000) {
78
+ await fs.remove(pluginJar);
79
+ throw new Error(`File too small: ${stats.size} bytes`);
80
+ }
81
+ this.logger.success(`${name} downloaded (${(stats.size / 1024 / 1024).toFixed(2)} MB)`);
82
+ }
83
+ catch (error) {
84
+ const errorMessage = error instanceof Error ? error.message : String(error);
85
+ this.logger.error(`Failed to download ${name}: ${errorMessage}`);
86
+ }
87
+ }
88
+ async installMultiple(plugins, pluginsDir) {
89
+ for (let i = 0; i < plugins.length; i++) {
90
+ const plugin = plugins[i];
91
+ await this.installPlugin(plugin.name, plugin.url, pluginsDir);
92
+ if (i < plugins.length - 1) {
93
+ await new Promise(resolve => setTimeout(resolve, 1000));
94
+ }
95
+ }
96
+ }
97
+ async installFromGithub(repo, assetName, pluginsDir) {
98
+ const apiUrl = `https://api.github.com/repos/${repo}/releases/latest`;
99
+ try {
100
+ const response = await axios_1.default.get(apiUrl, {
101
+ headers: {
102
+ 'User-Agent': 'Mozilla/5.0'
103
+ }
104
+ });
105
+ const asset = response.data.assets.find((a) => a.name.includes(assetName));
106
+ if (!asset) {
107
+ throw new Error(`Asset ${assetName} not found in latest release`);
108
+ }
109
+ await this.installPlugin(asset.name.replace('.jar', ''), asset.browser_download_url, pluginsDir);
110
+ }
111
+ catch (error) {
112
+ const errorMessage = error instanceof Error ? error.message : String(error);
113
+ this.logger.error(`Failed to install from GitHub ${repo}: ${errorMessage}`);
114
+ }
115
+ }
116
+ async updatePlugin(name, url, pluginsDir) {
117
+ const pluginJar = path.join(pluginsDir, `${name}.jar`);
118
+ if (await FileUtils_1.FileUtils.fileExists(pluginJar)) {
119
+ await fs.remove(pluginJar);
120
+ }
121
+ await this.installPlugin(name, url, pluginsDir);
122
+ }
123
+ async removePlugin(name, pluginsDir) {
124
+ const pluginJar = path.join(pluginsDir, `${name}.jar`);
125
+ if (await FileUtils_1.FileUtils.fileExists(pluginJar)) {
126
+ await fs.remove(pluginJar);
127
+ this.logger.info(`${name} removed`);
128
+ }
129
+ }
130
+ async listPlugins(pluginsDir) {
131
+ if (!await FileUtils_1.FileUtils.fileExists(pluginsDir)) {
132
+ return [];
133
+ }
134
+ const files = await fs.readdir(pluginsDir);
135
+ return files.filter(f => f.endsWith('.jar')).map(f => f.replace('.jar', ''));
136
+ }
137
+ async getPluginInfo(pluginName, pluginsDir) {
138
+ const pluginJar = path.join(pluginsDir, `${pluginName}.jar`);
139
+ if (!await FileUtils_1.FileUtils.fileExists(pluginJar)) {
140
+ return null;
141
+ }
142
+ const stats = await fs.stat(pluginJar);
143
+ return {
144
+ name: pluginName,
145
+ size: stats.size,
146
+ modified: stats.mtime,
147
+ path: pluginJar
148
+ };
149
+ }
150
+ async verifyPlugin(pluginName, pluginsDir) {
151
+ const pluginJar = path.join(pluginsDir, `${pluginName}.jar`);
152
+ if (!await FileUtils_1.FileUtils.fileExists(pluginJar)) {
153
+ return false;
154
+ }
155
+ const stats = await fs.stat(pluginJar);
156
+ if (stats.size < 100000) {
157
+ return false;
158
+ }
159
+ try {
160
+ const buffer = await fs.readFile(pluginJar);
161
+ if (buffer[0] !== 0x50 || buffer[1] !== 0x4B) {
162
+ return false;
163
+ }
164
+ }
165
+ catch {
166
+ return false;
167
+ }
168
+ return true;
169
+ }
170
+ async cleanupCorruptPlugins(pluginsDir) {
171
+ if (!await FileUtils_1.FileUtils.fileExists(pluginsDir)) {
172
+ return 0;
173
+ }
174
+ let cleaned = 0;
175
+ const files = await fs.readdir(pluginsDir);
176
+ for (const file of files) {
177
+ if (!file.endsWith('.jar'))
178
+ continue;
179
+ const filePath = path.join(pluginsDir, file);
180
+ try {
181
+ const stats = await fs.stat(filePath);
182
+ if (stats.size < 100000) {
183
+ await fs.remove(filePath);
184
+ this.logger.warning(`Removed corrupt plugin: ${file}`);
185
+ cleaned++;
186
+ continue;
187
+ }
188
+ const buffer = await fs.readFile(filePath);
189
+ if (buffer[0] !== 0x50 || buffer[1] !== 0x4B) {
190
+ await fs.remove(filePath);
191
+ this.logger.warning(`Removed invalid ZIP: ${file}`);
192
+ cleaned++;
193
+ }
194
+ }
195
+ catch {
196
+ await fs.remove(filePath);
197
+ this.logger.warning(`Removed inaccessible plugin: ${file}`);
198
+ cleaned++;
199
+ }
200
+ }
201
+ if (cleaned > 0) {
202
+ this.logger.info(`Cleaned up ${cleaned} corrupt plugins`);
203
+ }
204
+ return cleaned;
205
+ }
206
+ }
207
+ exports.PluginManager = PluginManager;
208
+ //# sourceMappingURL=PluginManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginManager.js","sourceRoot":"","sources":["../../src/platforms/PluginManager.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,15 @@
1
1
  import { MinecraftConfig } from '../types';
2
- export interface ViaVersionInfo {
3
- version: string;
4
- downloadUrl: string;
5
- fileName: string;
6
- }
7
2
  export declare class ViaVersionManager {
8
3
  private logger;
9
4
  private readonly VIAVERSION_URL;
10
5
  private readonly VIABACKWARDS_URL;
11
6
  private readonly VIAREWIND_URL;
12
7
  setup(config: MinecraftConfig): Promise<void>;
13
- private cleanupCorruptFiles;
8
+ private cleanupRemappedFolders;
14
9
  private downloadFile;
15
10
  private downloadViaVersion;
16
11
  private downloadViaBackwards;
17
12
  private downloadViaRewind;
18
- private verifyAllPlugins;
19
13
  configureViaVersion(config: MinecraftConfig): Promise<void>;
20
14
  }
21
15
  //# sourceMappingURL=ViaVersion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ViaVersion.d.ts","sourceRoot":"","sources":["../../src/platforms/ViaVersion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAO3C,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,MAAM,CAAwB;IAEtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA2F;IAC1H,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA+F;IAChI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2F;IAE5G,KAAK,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;YAkB5C,mBAAmB;YAiCnB,YAAY;YAwCZ,kBAAkB;YAUlB,oBAAoB;YAUpB,iBAAiB;YAUjB,gBAAgB;IAwCjB,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;CAgC3E"}
1
+ {"version":3,"file":"ViaVersion.d.ts","sourceRoot":"","sources":["../../src/platforms/ViaVersion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAY3C,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,MAAM,CAAwB;IAEtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA2F;IAC1H,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA+F;IAChI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2F;IAE5G,KAAK,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;YAiB5C,sBAAsB;YAgBtB,YAAY;YAoCZ,kBAAkB;YAKlB,oBAAoB;YAKpB,iBAAiB;IAKlB,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;CA6B3E"}
@@ -42,6 +42,10 @@ const Logger_1 = require("../utils/Logger");
42
42
  const path = __importStar(require("path"));
43
43
  const axios_1 = __importDefault(require("axios"));
44
44
  const fs = __importStar(require("fs-extra"));
45
+ const stream = __importStar(require("stream"));
46
+ const util = __importStar(require("util"));
47
+ const pipeline = util.promisify(stream.pipeline);
48
+ const finished = util.promisify(stream.finished);
45
49
  class ViaVersionManager {
46
50
  logger = Logger_1.Logger.getInstance();
47
51
  VIAVERSION_URL = 'https://github.com/ViaVersion/ViaVersion/releases/download/5.7.2/ViaVersion-5.7.2.jar';
@@ -51,48 +55,33 @@ class ViaVersionManager {
51
55
  const pluginsDir = config.folders.plugins;
52
56
  await FileUtils_1.FileUtils.ensureDir(pluginsDir);
53
57
  this.logger.info('Setting up ViaVersion, ViaBackwards, ViaRewind...');
54
- await this.cleanupCorruptFiles(pluginsDir);
58
+ await this.cleanupRemappedFolders(pluginsDir);
55
59
  await this.downloadViaVersion(pluginsDir);
60
+ await new Promise(resolve => setTimeout(resolve, 1000));
56
61
  await this.downloadViaBackwards(pluginsDir);
57
62
  await this.downloadViaRewind(pluginsDir);
58
- await this.verifyAllPlugins(pluginsDir);
59
63
  this.logger.success('ViaVersion suite installed successfully');
60
- this.logger.info('Players from older versions can now connect to your server');
61
64
  }
62
- async cleanupCorruptFiles(pluginsDir) {
63
- const files = [
64
- { name: 'ViaVersion.jar', url: this.VIAVERSION_URL },
65
- { name: 'ViaBackwards.jar', url: this.VIABACKWARDS_URL },
66
- { name: 'ViaRewind.jar', url: this.VIAREWIND_URL }
67
- ];
68
- for (const file of files) {
69
- const filePath = path.join(pluginsDir, file.name);
70
- if (await FileUtils_1.FileUtils.fileExists(filePath)) {
71
- try {
72
- const stats = await fs.stat(filePath);
73
- if (stats.size < 100000) {
74
- this.logger.warning(`Corrupt ${file.name} detected (${stats.size} bytes), removing...`);
75
- await fs.remove(filePath);
76
- }
77
- else {
78
- const buffer = await fs.readFile(filePath);
79
- if (buffer[0] !== 0x50 || buffer[1] !== 0x4B) {
80
- this.logger.warning(`Invalid ZIP header in ${file.name}, removing...`);
81
- await fs.remove(filePath);
82
- }
83
- else {
84
- this.logger.info(`${file.name} is valid, keeping it`);
85
- }
65
+ async cleanupRemappedFolders(pluginsDir) {
66
+ try {
67
+ const files = await fs.readdir(pluginsDir);
68
+ for (const file of files) {
69
+ if (file.includes('.paper-remapped')) {
70
+ const remappedPath = path.join(pluginsDir, file);
71
+ const stat = await fs.stat(remappedPath);
72
+ if (stat.isDirectory()) {
73
+ await fs.remove(remappedPath);
86
74
  }
87
75
  }
88
- catch (error) {
89
- this.logger.warning(`Error checking ${file.name}, removing...`);
90
- await fs.remove(filePath);
91
- }
92
76
  }
93
77
  }
78
+ catch (error) {
79
+ }
94
80
  }
95
81
  async downloadFile(url, destPath, fileName) {
82
+ if (await FileUtils_1.FileUtils.fileExists(destPath)) {
83
+ await fs.remove(destPath);
84
+ }
96
85
  this.logger.info(`Downloading ${fileName}...`);
97
86
  try {
98
87
  const response = await (0, axios_1.default)({
@@ -105,20 +94,13 @@ class ViaVersionManager {
105
94
  }
106
95
  });
107
96
  const writer = fs.createWriteStream(destPath);
108
- response.data.pipe(writer);
109
- await new Promise((resolve, reject) => {
110
- writer.on('finish', () => resolve());
111
- writer.on('error', (err) => reject(err));
112
- });
97
+ await pipeline(response.data, writer);
98
+ await finished(writer);
113
99
  const stats = await fs.stat(destPath);
114
100
  if (stats.size < 100000) {
115
101
  throw new Error(`Downloaded file too small: ${stats.size} bytes`);
116
102
  }
117
- const buffer = await fs.readFile(destPath);
118
- if (buffer[0] !== 0x50 || buffer[1] !== 0x4B) {
119
- throw new Error('Invalid ZIP header');
120
- }
121
- this.logger.success(`Downloaded: ${fileName} (${(stats.size / 1024 / 1024).toFixed(2)} MB)`);
103
+ this.logger.success(`Downloaded ${fileName} (${(stats.size / 1024 / 1024).toFixed(2)} MB)`);
122
104
  }
123
105
  catch (error) {
124
106
  this.logger.error(`Failed to download ${fileName}:`, error);
@@ -127,67 +109,22 @@ class ViaVersionManager {
127
109
  }
128
110
  async downloadViaVersion(pluginsDir) {
129
111
  const destPath = path.join(pluginsDir, 'ViaVersion.jar');
130
- if (await FileUtils_1.FileUtils.fileExists(destPath)) {
131
- await fs.remove(destPath);
132
- }
133
112
  await this.downloadFile(this.VIAVERSION_URL, destPath, 'ViaVersion.jar');
134
113
  }
135
114
  async downloadViaBackwards(pluginsDir) {
136
115
  const destPath = path.join(pluginsDir, 'ViaBackwards.jar');
137
- if (await FileUtils_1.FileUtils.fileExists(destPath)) {
138
- await fs.remove(destPath);
139
- }
140
116
  await this.downloadFile(this.VIABACKWARDS_URL, destPath, 'ViaBackwards.jar');
141
117
  }
142
118
  async downloadViaRewind(pluginsDir) {
143
119
  const destPath = path.join(pluginsDir, 'ViaRewind.jar');
144
- if (await FileUtils_1.FileUtils.fileExists(destPath)) {
145
- await fs.remove(destPath);
146
- }
147
120
  await this.downloadFile(this.VIAREWIND_URL, destPath, 'ViaRewind.jar');
148
121
  }
149
- async verifyAllPlugins(pluginsDir) {
150
- const files = ['ViaVersion.jar', 'ViaBackwards.jar', 'ViaRewind.jar'];
151
- let allValid = true;
152
- for (const file of files) {
153
- const filePath = path.join(pluginsDir, file);
154
- if (!await FileUtils_1.FileUtils.fileExists(filePath)) {
155
- this.logger.error(`${file} is missing!`);
156
- allValid = false;
157
- continue;
158
- }
159
- try {
160
- const stats = await fs.stat(filePath);
161
- if (stats.size < 100000) {
162
- this.logger.error(`${file} is too small: ${stats.size} bytes`);
163
- allValid = false;
164
- continue;
165
- }
166
- const buffer = await fs.readFile(filePath);
167
- if (buffer[0] !== 0x50 || buffer[1] !== 0x4B) {
168
- this.logger.error(`${file} has invalid ZIP header`);
169
- allValid = false;
170
- continue;
171
- }
172
- this.logger.debug(`${file} verified OK (${(stats.size / 1024 / 1024).toFixed(2)} MB)`);
173
- }
174
- catch (error) {
175
- this.logger.error(`Failed to verify ${file}:`, error);
176
- allValid = false;
177
- }
178
- }
179
- if (!allValid) {
180
- throw new Error('Some ViaVersion plugins are corrupt or missing');
181
- }
182
- }
183
122
  async configureViaVersion(config) {
184
123
  const pluginsDir = config.folders.plugins;
185
124
  const viaConfigDir = path.join(pluginsDir, 'ViaVersion');
186
125
  await FileUtils_1.FileUtils.ensureDir(viaConfigDir);
187
126
  const configFile = path.join(viaConfigDir, 'config.yml');
188
127
  const configContent = `# ViaVersion Configuration
189
- # Auto-generated by mc-headless
190
-
191
128
  enable-client-side-block-updates: true
192
129
  prevent-collision: true
193
130
  auto-team: true
@@ -207,7 +144,6 @@ force-json-transform: false
207
144
  use-natives: true
208
145
  `;
209
146
  await FileUtils_1.FileUtils.writeFile(configFile, configContent);
210
- this.logger.debug('ViaVersion configuration created');
211
147
  }
212
148
  }
213
149
  exports.ViaVersionManager = ViaVersionManager;
@@ -1 +1 @@
1
- {"version":3,"file":"ViaVersion.js","sourceRoot":"","sources":["../../src/platforms/ViaVersion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ViaVersion.js","sourceRoot":"","sources":["../../src/platforms/ViaVersion.ts"],"names":[],"mappings":"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"}