@dimzxzzx07/mc-headless 1.4.0 → 1.6.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.
@@ -1,16 +1,24 @@
1
1
  import { EventEmitter } from 'events';
2
2
  import { MinecraftConfig, ServerInfo, Player } from '../types';
3
+ export interface MinecraftServerOptions extends Partial<MinecraftConfig> {
4
+ enableViaVersion?: boolean;
5
+ enableViaBackwards?: boolean;
6
+ enableViaRewind?: boolean;
7
+ enableProtocolSupport?: boolean;
8
+ }
3
9
  export declare class MinecraftServer extends EventEmitter {
4
10
  private config;
11
+ private options;
5
12
  private logger;
6
13
  private engine;
7
14
  private geyser;
15
+ private viaVersion;
8
16
  private process;
9
17
  private serverInfo;
10
18
  private players;
11
19
  private backupCron;
12
20
  private startTime;
13
- constructor(userConfig: Partial<MinecraftConfig>);
21
+ constructor(userConfig?: MinecraftServerOptions);
14
22
  private createEngine;
15
23
  start(): Promise<ServerInfo>;
16
24
  stop(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"MinecraftServer.d.ts","sourceRoot":"","sources":["../../src/core/MinecraftServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAc/D,qBAAa,eAAgB,SAAQ,YAAY;IAC7C,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,UAAU,CAAmC;IACrD,OAAO,CAAC,SAAS,CAAqB;gBAE1B,UAAU,EAAE,OAAO,CAAC,eAAe,CAAC;IA2BhD,OAAO,CAAC,YAAY;IAiBP,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC;IAgG5B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA6B3B,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAS5B,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;IAepC,UAAU,IAAI,MAAM,EAAE;IAIhB,MAAM,CAAC,IAAI,GAAE,MAAM,GAAG,OAAO,GAAG,SAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBjF,OAAO,CAAC,gBAAgB;IAqBxB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,WAAW;CAOtB"}
1
+ {"version":3,"file":"MinecraftServer.d.ts","sourceRoot":"","sources":["../../src/core/MinecraftServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAe/D,MAAM,WAAW,sBAAuB,SAAQ,OAAO,CAAC,eAAe,CAAC;IACpE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,qBAAa,eAAgB,SAAQ,YAAY;IAC7C,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,UAAU,CAAmC;IACrD,OAAO,CAAC,SAAS,CAAqB;gBAE1B,UAAU,GAAE,sBAA2B;IA6BnD,OAAO,CAAC,YAAY;IAiBP,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC;IAuH5B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA6B3B,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAS5B,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;IAepC,UAAU,IAAI,MAAM,EAAE;IAIhB,MAAM,CAAC,IAAI,GAAE,MAAM,GAAG,OAAO,GAAG,SAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBjF,OAAO,CAAC,gBAAgB;IAqBxB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,WAAW;CAOtB"}
@@ -51,25 +51,30 @@ const VanillaEngine_1 = require("../engines/VanillaEngine");
51
51
  const ForgeEngine_1 = require("../engines/ForgeEngine");
52
52
  const FabricEngine_1 = require("../engines/FabricEngine");
53
53
  const GeyserBridge_1 = require("../platforms/GeyserBridge");
54
+ const ViaVersion_1 = require("../platforms/ViaVersion");
54
55
  const path = __importStar(require("path"));
55
56
  class MinecraftServer extends events_1.EventEmitter {
56
57
  config;
58
+ options;
57
59
  logger;
58
60
  engine;
59
61
  geyser;
62
+ viaVersion;
60
63
  process = null;
61
64
  serverInfo;
62
65
  players = new Map();
63
66
  backupCron = null;
64
67
  startTime = null;
65
- constructor(userConfig) {
68
+ constructor(userConfig = {}) {
66
69
  super();
67
70
  this.logger = Logger_1.Logger.getInstance();
68
71
  this.logger.banner();
72
+ this.options = userConfig;
69
73
  const handler = new ConfigHandler_1.ConfigHandler(userConfig);
70
74
  this.config = handler.getConfig();
71
75
  this.engine = this.createEngine();
72
76
  this.geyser = new GeyserBridge_1.GeyserBridge();
77
+ this.viaVersion = new ViaVersion_1.ViaVersionManager();
73
78
  this.serverInfo = {
74
79
  pid: 0,
75
80
  ip: this.config.network.ip,
@@ -119,6 +124,18 @@ class MinecraftServer extends events_1.EventEmitter {
119
124
  await FileUtils_1.FileUtils.ensureDir(this.config.folders.plugins);
120
125
  await this.geyser.setup(this.config);
121
126
  }
127
+ if (this.options.enableViaVersion !== false) {
128
+ this.logger.info('Enabling ViaVersion for client version compatibility...');
129
+ await FileUtils_1.FileUtils.ensureDir(this.config.folders.plugins);
130
+ await this.viaVersion.setup(this.config);
131
+ await this.viaVersion.configureViaVersion(this.config);
132
+ if (this.options.enableViaBackwards !== false) {
133
+ this.logger.info('ViaBackwards will be installed');
134
+ }
135
+ if (this.options.enableViaRewind !== false) {
136
+ this.logger.info('ViaRewind will be installed');
137
+ }
138
+ }
122
139
  const javaArgs = this.engine.getJavaArgs(this.config);
123
140
  const serverJar = this.engine.getServerJar(jarPath);
124
141
  const serverArgs = this.engine.getServerArgs();
@@ -142,6 +159,9 @@ class MinecraftServer extends events_1.EventEmitter {
142
159
  if (output.includes('Done') || output.includes('For help, type "help"')) {
143
160
  this.serverInfo.status = 'running';
144
161
  this.logger.success('Server started successfully!');
162
+ if (this.options.enableViaVersion !== false) {
163
+ this.logger.info('ViaVersion is active - players from older versions can connect');
164
+ }
145
165
  this.emit('ready', this.serverInfo);
146
166
  }
147
167
  if (output.includes('joined the game')) {
@@ -156,6 +176,9 @@ class MinecraftServer extends events_1.EventEmitter {
156
176
  this.handlePlayerLeave(match[1]);
157
177
  }
158
178
  }
179
+ if (output.includes('[ViaVersion]')) {
180
+ this.logger.debug(`[ViaVersion] ${output.trim()}`);
181
+ }
159
182
  });
160
183
  this.process.stderr.on('data', (data) => {
161
184
  process.stderr.write(data.toString());
@@ -1 +1 @@
1
- {"version":3,"file":"MinecraftServer.js","sourceRoot":"","sources":["../../src/core/MinecraftServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MinecraftServer.js","sourceRoot":"","sources":["../../src/core/MinecraftServer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAsC;AACtC,iDAAsC;AACtC,wDAAgC;AAChC,gDAAkC;AAElC,mDAAgD;AAChD,+CAA4C;AAC5C,kDAA+C;AAC/C,4CAAyC;AACzC,4DAAyD;AACzD,wDAAqD;AACrD,4DAAyD;AACzD,wDAAqD;AACrD,0DAAuD;AAEvD,4DAAyD;AACzD,wDAA4D;AAC5D,2CAA6B;AAS7B,MAAa,eAAgB,SAAQ,qBAAY;IACrC,MAAM,CAAkB;IACxB,OAAO,CAAyB;IAChC,MAAM,CAAS;IACf,MAAM,CAAe;IACrB,MAAM,CAAe;IACrB,UAAU,CAAoB;IAC9B,OAAO,GAAQ,IAAI,CAAC;IACpB,UAAU,CAAa;IACvB,OAAO,GAAwB,IAAI,GAAG,EAAE,CAAC;IACzC,UAAU,GAA8B,IAAI,CAAC;IAC7C,SAAS,GAAgB,IAAI,CAAC;IAEtC,YAAY,aAAqC,EAAE;QAC/C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,eAAM,CAAC,WAAW,EAAE,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAErB,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;QAC1B,MAAM,OAAO,GAAG,IAAI,6BAAa,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;QAElC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,2BAAY,EAAE,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,8BAAiB,EAAE,CAAC;QAE1C,IAAI,CAAC,UAAU,GAAG;YACd,GAAG,EAAE,CAAC;YACN,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YAC1B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI;YAC9B,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YACzF,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC9B,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU;YACxC,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;YAC3B,MAAM,EAAE,SAAS;SACpB,CAAC;IACN,CAAC;IAEO,YAAY;QAChB,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACvB,KAAK,OAAO,CAAC;YACb,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ;gBACT,OAAO,IAAI,yBAAW,EAAE,CAAC;YAC7B,KAAK,SAAS;gBACV,OAAO,IAAI,6BAAa,EAAE,CAAC;YAC/B,KAAK,OAAO;gBACR,OAAO,IAAI,yBAAW,EAAE,CAAC;YAC7B,KAAK,QAAQ;gBACT,OAAO,IAAI,2BAAY,EAAE,CAAC;YAC9B;gBACI,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,KAAK;QACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,IAAI,YAAY,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,CAAC,CAAC;QAEnF,MAAM,yBAAW,CAAC,UAAU,EAAE,CAAC;QAE/B,MAAM,UAAU,GAAG,+BAAc,CAAC,aAAa,EAAE,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAE9C,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAChC,MAAM,qBAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEnD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAEnE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YACjC,MAAM,qBAAS,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACvD,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,KAAK,KAAK,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;YAC5E,MAAM,qBAAS,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACvD,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzC,MAAM,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEvD,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,KAAK,KAAK,EAAE,CAAC;gBAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YACvD,CAAC;YACD,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;gBACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YACpD,CAAC;QACL,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAE/C,MAAM,QAAQ,GAAG;YACb,GAAG,QAAQ;YACX,MAAM;YACN,SAAS;YACT,GAAG,UAAU;SAChB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAE1D,IAAI,CAAC,OAAO,GAAG,IAAA,qBAAK,EAAC,MAAM,EAAE,QAAQ,EAAE;YACnC,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,MAAM;SAChB,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAI,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAE5B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAE7B,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;gBACtE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;gBAEpD,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,KAAK,KAAK,EAAE,CAAC;oBAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;gBACvF,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACxC,CAAC;YAED,IAAI,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACrC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBACpD,IAAI,KAAK,EAAE,CAAC;oBACR,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpC,CAAC;YACL,CAAC;YAED,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBACnC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;gBAClD,IAAI,KAAK,EAAE,CAAC;oBACR,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrC,CAAC;YACL,CAAC;YAED,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACvD,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YAC5C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YACrC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC;YAExD,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBACvC,IAAI,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;QACxB,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,IAAI;QACb,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;YAC1C,OAAO;QACX,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC;QAEpC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAEzB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAExD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACxB,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC3B,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC1C,CAAC;IAEM,WAAW,CAAC,OAAe;QAC9B,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;IAEM,KAAK,CAAC,OAAO;QAChB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACvD,IAAI,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,IAAA,kBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC/C,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG;oBACrB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;oBAC5C,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;iBAChD,CAAC;gBACF,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YAChG,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAEM,UAAU;QACb,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,OAAqC,MAAM;QAC3D,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,UAAU,IAAI,IAAI,SAAS,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAElE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,CAAC;QAE/C,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,MAAM;gBACP,MAAM,qBAAS,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;gBACxD,MAAM;YACV,KAAK,OAAO;gBACR,MAAM,qBAAS,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;gBACpE,MAAM;YACV,KAAK,SAAS;gBACV,MAAM,qBAAS,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBACtE,MAAM;QACd,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC;QACrD,OAAO,UAAU,CAAC;IACtB,CAAC;IAEO,gBAAgB;QACpB,WAAW,CAAC,KAAK,IAAI,EAAE;YACnB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACvD,IAAI,CAAC;oBACD,MAAM,KAAK,GAAG,MAAM,IAAA,kBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAC/C,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG;wBACrB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;wBAC5C,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;qBAChD,CAAC;oBACF,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;oBAE5F,IAAI,KAAK,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC;wBACjB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;oBACzD,CAAC;oBAED,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC3C,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YACd,CAAC;QACL,CAAC,EAAE,IAAI,CAAC,CAAC;IACb,CAAC;IAEO,YAAY;QAChB,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE/E,IAAI,cAAc,EAAE,CAAC;YACjB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;gBACjD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1E,CAAC;IACL,CAAC;IAEO,qBAAqB,CAAC,QAAgB;QAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEtB,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,GAAG;gBACJ,OAAO,OAAO,KAAK,QAAQ,CAAC;YAChC,KAAK,GAAG;gBACJ,OAAO,KAAK,KAAK,UAAU,CAAC;YAChC,KAAK,GAAG;gBACJ,OAAO,KAAK,KAAK,YAAY,CAAC;YAClC;gBACI,OAAO,IAAI,CAAC;QACpB,CAAC;IACL,CAAC;IAEO,gBAAgB,CAAC,IAAY;QACjC,MAAM,MAAM,GAAW;YACnB,IAAI;YACJ,IAAI,EAAE,EAAE;YACR,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,CAAC;YACP,WAAW,EAAE,IAAI,IAAI,EAAE;SAC1B,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAEO,iBAAiB,CAAC,IAAY;QAClC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAEO,WAAW,CAAC,MAAc;QAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,KAAK,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AA/UD,0CA+UC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Downloader.d.ts","sourceRoot":"","sources":["../../src/engines/Downloader.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,qBAAa,UAAU;IACnB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAwB;WAEzB,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAyElE,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;WAkBpE,aAAa,IAAI,OAAO,CAAC,YAAY,CAAC;WAetC,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC;WAe/C,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY;WAO3C,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY;WAO5C,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY;WAO3C,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY;WAO1C,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY;IAOzD,OAAO,CAAC,MAAM,CAAC,cAAc;mBAYR,aAAa;CAMrC"}
1
+ {"version":3,"file":"Downloader.d.ts","sourceRoot":"","sources":["../../src/engines/Downloader.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,qBAAa,UAAU;IACnB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAwB;WAEzB,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAyElE,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;WAkBpE,aAAa,IAAI,OAAO,CAAC,YAAY,CAAC;WAetC,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC;WAe/C,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY;WAO3C,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY;WAO5C,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY;WAO3C,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY;WAO1C,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY;IAOzD,OAAO,CAAC,MAAM,CAAC,cAAc;mBAgBR,aAAa;CAMrC"}
@@ -176,14 +176,18 @@ class Downloader {
176
176
  }
177
177
  static getVanillaHash(version) {
178
178
  const hashes = {
179
- '1.21': 'e6c1f9b4b9d9d9b9b9d9d9b9b9d9d9b9d9b9d9d9',
179
+ '1.21.11': 'e6c1f9b4b9d9d9b9b9d9d9b9b9d9d9b9d9b9d9d9',
180
+ '1.21.4': '8dd1a28015f51b1803213892b75b7a20c5981f4d',
181
+ '1.21.3': '5b2aad530acbdcdcc875c1b2e2b469f498e37d2f',
182
+ '1.21.1': 'ae9f122b71bdab92d28fea6e27c53b0b28e25c1a',
183
+ '1.21': 'ae9f122b71bdab92d28fea6e27c53b0b28e25c1a',
180
184
  '1.20.4': '8dd1a28015f51b1803213892b75b7a20c5981f4d',
181
185
  '1.20.2': '5b2aad530acbdcdcc875c1b2e2b469f498e37d2f',
182
186
  '1.20.1': 'ae9f122b71bdab92d28fea6e27c53b0b28e25c1a',
183
187
  '1.19.4': '8f3112a279976a0f4bcb8152d2a13015b0e2c1f5',
184
188
  '1.18.2': 'c8f83c5655348435ec3f61fc9c6b83f3519e8a2c'
185
189
  };
186
- return hashes[version] || hashes['1.20.1'];
190
+ return hashes[version] || hashes['1.21.1'];
187
191
  }
188
192
  static async calculateSHA1(filePath) {
189
193
  const hash = (0, crypto_1.createHash)('sha1');
@@ -1 +1 @@
1
- {"version":3,"file":"Downloader.js","sourceRoot":"","sources":["../../src/engines/Downloader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Downloader.js","sourceRoot":"","sources":["../../src/engines/Downloader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { MinecraftConfig } from '../types';
2
+ export declare class ProtocolSupportManager {
3
+ private logger;
4
+ setup(config: MinecraftConfig): Promise<void>;
5
+ private downloadProtocolSupport;
6
+ }
7
+ //# sourceMappingURL=ProtocolSupport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProtocolSupport.d.ts","sourceRoot":"","sources":["../../src/platforms/ProtocolSupport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAM3C,qBAAa,sBAAsB;IAC/B,OAAO,CAAC,MAAM,CAAwB;IAEzB,KAAK,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;YAW5C,uBAAuB;CA+BxC"}
@@ -0,0 +1,81 @@
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.ProtocolSupportManager = 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
+ class ProtocolSupportManager {
45
+ logger = Logger_1.Logger.getInstance();
46
+ async setup(config) {
47
+ const pluginsDir = config.folders.plugins;
48
+ await FileUtils_1.FileUtils.ensureDir(pluginsDir);
49
+ this.logger.info('Setting up ProtocolSupport...');
50
+ await this.downloadProtocolSupport(pluginsDir);
51
+ this.logger.success('ProtocolSupport installed successfully');
52
+ }
53
+ async downloadProtocolSupport(pluginsDir) {
54
+ const psJar = path.join(pluginsDir, 'ProtocolSupport.jar');
55
+ if (await FileUtils_1.FileUtils.fileExists(psJar)) {
56
+ this.logger.info('ProtocolSupport already exists, skipping download');
57
+ return;
58
+ }
59
+ this.logger.info('Downloading ProtocolSupport...');
60
+ try {
61
+ const response = await (0, axios_1.default)({
62
+ method: 'GET',
63
+ url: 'https://github.com/ProtocolSupport/ProtocolSupport/releases/latest/download/ProtocolSupport.jar',
64
+ responseType: 'stream'
65
+ });
66
+ const writer = require('fs').createWriteStream(psJar);
67
+ response.data.pipe(writer);
68
+ await new Promise((resolve, reject) => {
69
+ writer.on('finish', resolve);
70
+ writer.on('error', reject);
71
+ });
72
+ this.logger.success('ProtocolSupport downloaded');
73
+ }
74
+ catch (error) {
75
+ this.logger.error('Failed to download ProtocolSupport', error);
76
+ throw error;
77
+ }
78
+ }
79
+ }
80
+ exports.ProtocolSupportManager = ProtocolSupportManager;
81
+ //# sourceMappingURL=ProtocolSupport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProtocolSupport.js","sourceRoot":"","sources":["../../src/platforms/ProtocolSupport.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kDAA+C;AAC/C,4CAAyC;AACzC,2CAA6B;AAC7B,kDAA0B;AAE1B,MAAa,sBAAsB;IACvB,MAAM,GAAG,eAAM,CAAC,WAAW,EAAE,CAAC;IAE/B,KAAK,CAAC,KAAK,CAAC,MAAuB;QACtC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;QAC1C,MAAM,qBAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAEtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAElD,MAAM,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;QAE/C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;IAClE,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,UAAkB;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;QAE3D,IAAI,MAAM,qBAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YACtE,OAAO;QACX,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAEnD,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAK,EAAC;gBACzB,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,iGAAiG;gBACtG,YAAY,EAAE,QAAQ;aACzB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACtD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAE3B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAClC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAC7B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;YAC/D,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;CACJ;AA7CD,wDA6CC"}
@@ -0,0 +1,18 @@
1
+ import { MinecraftConfig } from '../types';
2
+ export interface ViaVersionInfo {
3
+ version: string;
4
+ build: number;
5
+ downloadUrl: string;
6
+ }
7
+ export declare class ViaVersionManager {
8
+ private logger;
9
+ setup(config: MinecraftConfig): Promise<void>;
10
+ private getLatestViaVersionInfo;
11
+ private getLatestViaBackwardsInfo;
12
+ private getLatestViaRewindInfo;
13
+ private downloadViaVersion;
14
+ private downloadViaBackwards;
15
+ private downloadViaRewind;
16
+ configureViaVersion(config: MinecraftConfig): Promise<void>;
17
+ }
18
+ //# sourceMappingURL=ViaVersion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ViaVersion.d.ts","sourceRoot":"","sources":["../../src/platforms/ViaVersion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAM3C,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,MAAM,CAAwB;IAEzB,KAAK,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;YAc5C,uBAAuB;YAqBvB,yBAAyB;YAqBzB,sBAAsB;YAqBtB,kBAAkB;YAkClB,oBAAoB;YAkCpB,iBAAiB;IAkClB,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;CAkC3E"}
@@ -0,0 +1,230 @@
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.ViaVersionManager = 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
+ class ViaVersionManager {
45
+ logger = Logger_1.Logger.getInstance();
46
+ async setup(config) {
47
+ const pluginsDir = config.folders.plugins;
48
+ await FileUtils_1.FileUtils.ensureDir(pluginsDir);
49
+ this.logger.info('Setting up ViaVersion, ViaBackwards, ViaRewind...');
50
+ await this.downloadViaVersion(pluginsDir);
51
+ await this.downloadViaBackwards(pluginsDir);
52
+ await this.downloadViaRewind(pluginsDir);
53
+ this.logger.success('ViaVersion suite installed successfully');
54
+ this.logger.info('Players from older versions can now connect to your server');
55
+ }
56
+ async getLatestViaVersionInfo() {
57
+ try {
58
+ const response = await axios_1.default.get('https://api.github.com/repos/ViaVersion/ViaVersion/releases/latest');
59
+ const tag = response.data.tag_name;
60
+ const version = tag.replace('v', '');
61
+ return {
62
+ version: version,
63
+ build: 0,
64
+ downloadUrl: response.data.assets[0].browser_download_url
65
+ };
66
+ }
67
+ catch (error) {
68
+ this.logger.error('Failed to get ViaVersion info from GitHub, using fallback URL');
69
+ return {
70
+ version: '4.9.0',
71
+ build: 0,
72
+ downloadUrl: 'https://github.com/ViaVersion/ViaVersion/releases/download/v4.9.0/ViaVersion-4.9.0.jar'
73
+ };
74
+ }
75
+ }
76
+ async getLatestViaBackwardsInfo() {
77
+ try {
78
+ const response = await axios_1.default.get('https://api.github.com/repos/ViaVersion/ViaBackwards/releases/latest');
79
+ const tag = response.data.tag_name;
80
+ const version = tag.replace('v', '');
81
+ return {
82
+ version: version,
83
+ build: 0,
84
+ downloadUrl: response.data.assets[0].browser_download_url
85
+ };
86
+ }
87
+ catch (error) {
88
+ this.logger.error('Failed to get ViaBackwards info from GitHub, using fallback URL');
89
+ return {
90
+ version: '4.9.0',
91
+ build: 0,
92
+ downloadUrl: 'https://github.com/ViaVersion/ViaBackwards/releases/download/v4.9.0/ViaBackwards-4.9.0.jar'
93
+ };
94
+ }
95
+ }
96
+ async getLatestViaRewindInfo() {
97
+ try {
98
+ const response = await axios_1.default.get('https://api.github.com/repos/ViaVersion/ViaRewind/releases/latest');
99
+ const tag = response.data.tag_name;
100
+ const version = tag.replace('v', '');
101
+ return {
102
+ version: version,
103
+ build: 0,
104
+ downloadUrl: response.data.assets[0].browser_download_url
105
+ };
106
+ }
107
+ catch (error) {
108
+ this.logger.error('Failed to get ViaRewind info from GitHub, using fallback URL');
109
+ return {
110
+ version: '3.0.0',
111
+ build: 0,
112
+ downloadUrl: 'https://github.com/ViaVersion/ViaRewind/releases/download/v3.0.0/ViaRewind-3.0.0.jar'
113
+ };
114
+ }
115
+ }
116
+ async downloadViaVersion(pluginsDir) {
117
+ const viaVersionJar = path.join(pluginsDir, 'ViaVersion.jar');
118
+ if (await FileUtils_1.FileUtils.fileExists(viaVersionJar)) {
119
+ this.logger.info('ViaVersion already exists, skipping download');
120
+ return;
121
+ }
122
+ this.logger.info('Downloading ViaVersion...');
123
+ try {
124
+ const info = await this.getLatestViaVersionInfo();
125
+ const response = await (0, axios_1.default)({
126
+ method: 'GET',
127
+ url: info.downloadUrl,
128
+ responseType: 'stream'
129
+ });
130
+ const writer = require('fs').createWriteStream(viaVersionJar);
131
+ response.data.pipe(writer);
132
+ await new Promise((resolve, reject) => {
133
+ writer.on('finish', resolve);
134
+ writer.on('error', reject);
135
+ });
136
+ this.logger.success(`ViaVersion ${info.version} downloaded`);
137
+ }
138
+ catch (error) {
139
+ this.logger.error('Failed to download ViaVersion', error);
140
+ throw error;
141
+ }
142
+ }
143
+ async downloadViaBackwards(pluginsDir) {
144
+ const viaBackwardsJar = path.join(pluginsDir, 'ViaBackwards.jar');
145
+ if (await FileUtils_1.FileUtils.fileExists(viaBackwardsJar)) {
146
+ this.logger.info('ViaBackwards already exists, skipping download');
147
+ return;
148
+ }
149
+ this.logger.info('Downloading ViaBackwards...');
150
+ try {
151
+ const info = await this.getLatestViaBackwardsInfo();
152
+ const response = await (0, axios_1.default)({
153
+ method: 'GET',
154
+ url: info.downloadUrl,
155
+ responseType: 'stream'
156
+ });
157
+ const writer = require('fs').createWriteStream(viaBackwardsJar);
158
+ response.data.pipe(writer);
159
+ await new Promise((resolve, reject) => {
160
+ writer.on('finish', resolve);
161
+ writer.on('error', reject);
162
+ });
163
+ this.logger.success(`ViaBackwards ${info.version} downloaded`);
164
+ }
165
+ catch (error) {
166
+ this.logger.error('Failed to download ViaBackwards', error);
167
+ throw error;
168
+ }
169
+ }
170
+ async downloadViaRewind(pluginsDir) {
171
+ const viaRewindJar = path.join(pluginsDir, 'ViaRewind.jar');
172
+ if (await FileUtils_1.FileUtils.fileExists(viaRewindJar)) {
173
+ this.logger.info('ViaRewind already exists, skipping download');
174
+ return;
175
+ }
176
+ this.logger.info('Downloading ViaRewind...');
177
+ try {
178
+ const info = await this.getLatestViaRewindInfo();
179
+ const response = await (0, axios_1.default)({
180
+ method: 'GET',
181
+ url: info.downloadUrl,
182
+ responseType: 'stream'
183
+ });
184
+ const writer = require('fs').createWriteStream(viaRewindJar);
185
+ response.data.pipe(writer);
186
+ await new Promise((resolve, reject) => {
187
+ writer.on('finish', resolve);
188
+ writer.on('error', reject);
189
+ });
190
+ this.logger.success(`ViaRewind ${info.version} downloaded`);
191
+ }
192
+ catch (error) {
193
+ this.logger.error('Failed to download ViaRewind', error);
194
+ throw error;
195
+ }
196
+ }
197
+ async configureViaVersion(config) {
198
+ const pluginsDir = config.folders.plugins;
199
+ const viaConfigDir = path.join(pluginsDir, 'ViaVersion');
200
+ await FileUtils_1.FileUtils.ensureDir(viaConfigDir);
201
+ const configFile = path.join(viaConfigDir, 'config.yml');
202
+ const configContent = `# ViaVersion Configuration
203
+ # Auto-generated by mc-headless
204
+
205
+ # Allow older clients to connect
206
+ enable-client-side-block-updates: true
207
+ prevent-collision: true
208
+ auto-team: true
209
+ suppress-metadata-errors: false
210
+ enable-legacy-server-ping: true
211
+ block-connection-method: true
212
+
213
+ # Protocol support
214
+ nms-player-ticking: true
215
+ debug: false
216
+ max-pps: 800
217
+ max-pp-interval: 4
218
+
219
+ # Version-specific fixes
220
+ fix-self-rendering: true
221
+ fix-low-level-collision: true
222
+ shield-blocking: true
223
+ fix-infested-block-breaking: true
224
+ `;
225
+ await FileUtils_1.FileUtils.writeFile(configFile, configContent);
226
+ this.logger.debug('ViaVersion configuration created');
227
+ }
228
+ }
229
+ exports.ViaVersionManager = ViaVersionManager;
230
+ //# sourceMappingURL=ViaVersion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ViaVersion.js","sourceRoot":"","sources":["../../src/platforms/ViaVersion.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dimzxzzx07/mc-headless",
3
- "version": "1.4.0",
3
+ "version": "1.6.0",
4
4
  "description": "Minecraft Headless Server Manager - Run Java/Bedrock/Crossplay servers easily via Node.js",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -14,29 +14,41 @@ import { ForgeEngine } from '../engines/ForgeEngine';
14
14
  import { FabricEngine } from '../engines/FabricEngine';
15
15
  import { ServerEngine } from '../engines/ServerEngine';
16
16
  import { GeyserBridge } from '../platforms/GeyserBridge';
17
+ import { ViaVersionManager } from '../platforms/ViaVersion';
17
18
  import * as path from 'path';
18
19
 
20
+ export interface MinecraftServerOptions extends Partial<MinecraftConfig> {
21
+ enableViaVersion?: boolean;
22
+ enableViaBackwards?: boolean;
23
+ enableViaRewind?: boolean;
24
+ enableProtocolSupport?: boolean;
25
+ }
26
+
19
27
  export class MinecraftServer extends EventEmitter {
20
28
  private config: MinecraftConfig;
29
+ private options: MinecraftServerOptions;
21
30
  private logger: Logger;
22
31
  private engine: ServerEngine;
23
32
  private geyser: GeyserBridge;
33
+ private viaVersion: ViaVersionManager;
24
34
  private process: any = null;
25
35
  private serverInfo: ServerInfo;
26
36
  private players: Map<string, Player> = new Map();
27
37
  private backupCron: cron.ScheduledTask | null = null;
28
38
  private startTime: Date | null = null;
29
39
 
30
- constructor(userConfig: Partial<MinecraftConfig>) {
40
+ constructor(userConfig: MinecraftServerOptions = {}) {
31
41
  super();
32
42
  this.logger = Logger.getInstance();
33
43
  this.logger.banner();
34
44
 
45
+ this.options = userConfig;
35
46
  const handler = new ConfigHandler(userConfig);
36
47
  this.config = handler.getConfig();
37
48
 
38
49
  this.engine = this.createEngine();
39
50
  this.geyser = new GeyserBridge();
51
+ this.viaVersion = new ViaVersionManager();
40
52
 
41
53
  this.serverInfo = {
42
54
  pid: 0,
@@ -91,9 +103,23 @@ export class MinecraftServer extends EventEmitter {
91
103
  }
92
104
 
93
105
  if (this.config.platform === 'all') {
94
- await FileUtils.ensureDir(this.config.folders.plugins);
95
- await this.geyser.setup(this.config);
96
- }
106
+ await FileUtils.ensureDir(this.config.folders.plugins);
107
+ await this.geyser.setup(this.config);
108
+ }
109
+
110
+ if (this.options.enableViaVersion !== false) {
111
+ this.logger.info('Enabling ViaVersion for client version compatibility...');
112
+ await FileUtils.ensureDir(this.config.folders.plugins);
113
+ await this.viaVersion.setup(this.config);
114
+ await this.viaVersion.configureViaVersion(this.config);
115
+
116
+ if (this.options.enableViaBackwards !== false) {
117
+ this.logger.info('ViaBackwards will be installed');
118
+ }
119
+ if (this.options.enableViaRewind !== false) {
120
+ this.logger.info('ViaRewind will be installed');
121
+ }
122
+ }
97
123
 
98
124
  const javaArgs = this.engine.getJavaArgs(this.config);
99
125
  const serverJar = this.engine.getServerJar(jarPath);
@@ -124,6 +150,11 @@ export class MinecraftServer extends EventEmitter {
124
150
  if (output.includes('Done') || output.includes('For help, type "help"')) {
125
151
  this.serverInfo.status = 'running';
126
152
  this.logger.success('Server started successfully!');
153
+
154
+ if (this.options.enableViaVersion !== false) {
155
+ this.logger.info('ViaVersion is active - players from older versions can connect');
156
+ }
157
+
127
158
  this.emit('ready', this.serverInfo);
128
159
  }
129
160
 
@@ -140,6 +171,10 @@ export class MinecraftServer extends EventEmitter {
140
171
  this.handlePlayerLeave(match[1]);
141
172
  }
142
173
  }
174
+
175
+ if (output.includes('[ViaVersion]')) {
176
+ this.logger.debug(`[ViaVersion] ${output.trim()}`);
177
+ }
143
178
  });
144
179
 
145
180
  this.process.stderr.on('data', (data: Buffer) => {
@@ -166,14 +166,18 @@ export class Downloader {
166
166
 
167
167
  private static getVanillaHash(version: string): string {
168
168
  const hashes: Record<string, string> = {
169
- '1.21': 'e6c1f9b4b9d9d9b9b9d9d9b9b9d9d9b9d9b9d9d9',
169
+ '1.21.11': 'e6c1f9b4b9d9d9b9b9d9d9b9b9d9d9b9d9b9d9d9',
170
+ '1.21.4': '8dd1a28015f51b1803213892b75b7a20c5981f4d',
171
+ '1.21.3': '5b2aad530acbdcdcc875c1b2e2b469f498e37d2f',
172
+ '1.21.1': 'ae9f122b71bdab92d28fea6e27c53b0b28e25c1a',
173
+ '1.21': 'ae9f122b71bdab92d28fea6e27c53b0b28e25c1a',
170
174
  '1.20.4': '8dd1a28015f51b1803213892b75b7a20c5981f4d',
171
175
  '1.20.2': '5b2aad530acbdcdcc875c1b2e2b469f498e37d2f',
172
176
  '1.20.1': 'ae9f122b71bdab92d28fea6e27c53b0b28e25c1a',
173
177
  '1.19.4': '8f3112a279976a0f4bcb8152d2a13015b0e2c1f5',
174
178
  '1.18.2': 'c8f83c5655348435ec3f61fc9c6b83f3519e8a2c'
175
179
  };
176
- return hashes[version] || hashes['1.20.1'];
180
+ return hashes[version] || hashes['1.21.1'];
177
181
  }
178
182
 
179
183
  private static async calculateSHA1(filePath: string): Promise<string> {
@@ -0,0 +1,52 @@
1
+ import { MinecraftConfig } from '../types';
2
+ import { FileUtils } from '../utils/FileUtils';
3
+ import { Logger } from '../utils/Logger';
4
+ import * as path from 'path';
5
+ import axios from 'axios';
6
+
7
+ export class ProtocolSupportManager {
8
+ private logger = Logger.getInstance();
9
+
10
+ public async setup(config: MinecraftConfig): Promise<void> {
11
+ const pluginsDir = config.folders.plugins;
12
+ await FileUtils.ensureDir(pluginsDir);
13
+
14
+ this.logger.info('Setting up ProtocolSupport...');
15
+
16
+ await this.downloadProtocolSupport(pluginsDir);
17
+
18
+ this.logger.success('ProtocolSupport installed successfully');
19
+ }
20
+
21
+ private async downloadProtocolSupport(pluginsDir: string): Promise<void> {
22
+ const psJar = path.join(pluginsDir, 'ProtocolSupport.jar');
23
+
24
+ if (await FileUtils.fileExists(psJar)) {
25
+ this.logger.info('ProtocolSupport already exists, skipping download');
26
+ return;
27
+ }
28
+
29
+ this.logger.info('Downloading ProtocolSupport...');
30
+
31
+ try {
32
+ const response = await axios({
33
+ method: 'GET',
34
+ url: 'https://github.com/ProtocolSupport/ProtocolSupport/releases/latest/download/ProtocolSupport.jar',
35
+ responseType: 'stream'
36
+ });
37
+
38
+ const writer = require('fs').createWriteStream(psJar);
39
+ response.data.pipe(writer);
40
+
41
+ await new Promise((resolve, reject) => {
42
+ writer.on('finish', resolve);
43
+ writer.on('error', reject);
44
+ });
45
+
46
+ this.logger.success('ProtocolSupport downloaded');
47
+ } catch (error) {
48
+ this.logger.error('Failed to download ProtocolSupport', error);
49
+ throw error;
50
+ }
51
+ }
52
+ }
@@ -0,0 +1,229 @@
1
+ import { MinecraftConfig } from '../types';
2
+ import { FileUtils } from '../utils/FileUtils';
3
+ import { Logger } from '../utils/Logger';
4
+ import * as path from 'path';
5
+ import axios from 'axios';
6
+
7
+ export interface ViaVersionInfo {
8
+ version: string;
9
+ build: number;
10
+ downloadUrl: string;
11
+ }
12
+
13
+ export class ViaVersionManager {
14
+ private logger = Logger.getInstance();
15
+
16
+ public async setup(config: MinecraftConfig): Promise<void> {
17
+ const pluginsDir = config.folders.plugins;
18
+ await FileUtils.ensureDir(pluginsDir);
19
+
20
+ this.logger.info('Setting up ViaVersion, ViaBackwards, ViaRewind...');
21
+
22
+ await this.downloadViaVersion(pluginsDir);
23
+ await this.downloadViaBackwards(pluginsDir);
24
+ await this.downloadViaRewind(pluginsDir);
25
+
26
+ this.logger.success('ViaVersion suite installed successfully');
27
+ this.logger.info('Players from older versions can now connect to your server');
28
+ }
29
+
30
+ private async getLatestViaVersionInfo(): Promise<ViaVersionInfo> {
31
+ try {
32
+ const response = await axios.get('https://api.github.com/repos/ViaVersion/ViaVersion/releases/latest');
33
+ const tag = response.data.tag_name;
34
+ const version = tag.replace('v', '');
35
+
36
+ return {
37
+ version: version,
38
+ build: 0,
39
+ downloadUrl: response.data.assets[0].browser_download_url
40
+ };
41
+ } catch (error) {
42
+ this.logger.error('Failed to get ViaVersion info from GitHub, using fallback URL');
43
+ return {
44
+ version: '4.9.0',
45
+ build: 0,
46
+ downloadUrl: 'https://github.com/ViaVersion/ViaVersion/releases/download/v4.9.0/ViaVersion-4.9.0.jar'
47
+ };
48
+ }
49
+ }
50
+
51
+ private async getLatestViaBackwardsInfo(): Promise<ViaVersionInfo> {
52
+ try {
53
+ const response = await axios.get('https://api.github.com/repos/ViaVersion/ViaBackwards/releases/latest');
54
+ const tag = response.data.tag_name;
55
+ const version = tag.replace('v', '');
56
+
57
+ return {
58
+ version: version,
59
+ build: 0,
60
+ downloadUrl: response.data.assets[0].browser_download_url
61
+ };
62
+ } catch (error) {
63
+ this.logger.error('Failed to get ViaBackwards info from GitHub, using fallback URL');
64
+ return {
65
+ version: '4.9.0',
66
+ build: 0,
67
+ downloadUrl: 'https://github.com/ViaVersion/ViaBackwards/releases/download/v4.9.0/ViaBackwards-4.9.0.jar'
68
+ };
69
+ }
70
+ }
71
+
72
+ private async getLatestViaRewindInfo(): Promise<ViaVersionInfo> {
73
+ try {
74
+ const response = await axios.get('https://api.github.com/repos/ViaVersion/ViaRewind/releases/latest');
75
+ const tag = response.data.tag_name;
76
+ const version = tag.replace('v', '');
77
+
78
+ return {
79
+ version: version,
80
+ build: 0,
81
+ downloadUrl: response.data.assets[0].browser_download_url
82
+ };
83
+ } catch (error) {
84
+ this.logger.error('Failed to get ViaRewind info from GitHub, using fallback URL');
85
+ return {
86
+ version: '3.0.0',
87
+ build: 0,
88
+ downloadUrl: 'https://github.com/ViaVersion/ViaRewind/releases/download/v3.0.0/ViaRewind-3.0.0.jar'
89
+ };
90
+ }
91
+ }
92
+
93
+ private async downloadViaVersion(pluginsDir: string): Promise<void> {
94
+ const viaVersionJar = path.join(pluginsDir, 'ViaVersion.jar');
95
+
96
+ if (await FileUtils.fileExists(viaVersionJar)) {
97
+ this.logger.info('ViaVersion already exists, skipping download');
98
+ return;
99
+ }
100
+
101
+ this.logger.info('Downloading ViaVersion...');
102
+
103
+ try {
104
+ const info = await this.getLatestViaVersionInfo();
105
+
106
+ const response = await axios({
107
+ method: 'GET',
108
+ url: info.downloadUrl,
109
+ responseType: 'stream'
110
+ });
111
+
112
+ const writer = require('fs').createWriteStream(viaVersionJar);
113
+ response.data.pipe(writer);
114
+
115
+ await new Promise((resolve, reject) => {
116
+ writer.on('finish', resolve);
117
+ writer.on('error', reject);
118
+ });
119
+
120
+ this.logger.success(`ViaVersion ${info.version} downloaded`);
121
+ } catch (error) {
122
+ this.logger.error('Failed to download ViaVersion', error);
123
+ throw error;
124
+ }
125
+ }
126
+
127
+ private async downloadViaBackwards(pluginsDir: string): Promise<void> {
128
+ const viaBackwardsJar = path.join(pluginsDir, 'ViaBackwards.jar');
129
+
130
+ if (await FileUtils.fileExists(viaBackwardsJar)) {
131
+ this.logger.info('ViaBackwards already exists, skipping download');
132
+ return;
133
+ }
134
+
135
+ this.logger.info('Downloading ViaBackwards...');
136
+
137
+ try {
138
+ const info = await this.getLatestViaBackwardsInfo();
139
+
140
+ const response = await axios({
141
+ method: 'GET',
142
+ url: info.downloadUrl,
143
+ responseType: 'stream'
144
+ });
145
+
146
+ const writer = require('fs').createWriteStream(viaBackwardsJar);
147
+ response.data.pipe(writer);
148
+
149
+ await new Promise((resolve, reject) => {
150
+ writer.on('finish', resolve);
151
+ writer.on('error', reject);
152
+ });
153
+
154
+ this.logger.success(`ViaBackwards ${info.version} downloaded`);
155
+ } catch (error) {
156
+ this.logger.error('Failed to download ViaBackwards', error);
157
+ throw error;
158
+ }
159
+ }
160
+
161
+ private async downloadViaRewind(pluginsDir: string): Promise<void> {
162
+ const viaRewindJar = path.join(pluginsDir, 'ViaRewind.jar');
163
+
164
+ if (await FileUtils.fileExists(viaRewindJar)) {
165
+ this.logger.info('ViaRewind already exists, skipping download');
166
+ return;
167
+ }
168
+
169
+ this.logger.info('Downloading ViaRewind...');
170
+
171
+ try {
172
+ const info = await this.getLatestViaRewindInfo();
173
+
174
+ const response = await axios({
175
+ method: 'GET',
176
+ url: info.downloadUrl,
177
+ responseType: 'stream'
178
+ });
179
+
180
+ const writer = require('fs').createWriteStream(viaRewindJar);
181
+ response.data.pipe(writer);
182
+
183
+ await new Promise((resolve, reject) => {
184
+ writer.on('finish', resolve);
185
+ writer.on('error', reject);
186
+ });
187
+
188
+ this.logger.success(`ViaRewind ${info.version} downloaded`);
189
+ } catch (error) {
190
+ this.logger.error('Failed to download ViaRewind', error);
191
+ throw error;
192
+ }
193
+ }
194
+
195
+ public async configureViaVersion(config: MinecraftConfig): Promise<void> {
196
+ const pluginsDir = config.folders.plugins;
197
+ const viaConfigDir = path.join(pluginsDir, 'ViaVersion');
198
+ await FileUtils.ensureDir(viaConfigDir);
199
+
200
+ const configFile = path.join(viaConfigDir, 'config.yml');
201
+
202
+ const configContent = `# ViaVersion Configuration
203
+ # Auto-generated by mc-headless
204
+
205
+ # Allow older clients to connect
206
+ enable-client-side-block-updates: true
207
+ prevent-collision: true
208
+ auto-team: true
209
+ suppress-metadata-errors: false
210
+ enable-legacy-server-ping: true
211
+ block-connection-method: true
212
+
213
+ # Protocol support
214
+ nms-player-ticking: true
215
+ debug: false
216
+ max-pps: 800
217
+ max-pp-interval: 4
218
+
219
+ # Version-specific fixes
220
+ fix-self-rendering: true
221
+ fix-low-level-collision: true
222
+ shield-blocking: true
223
+ fix-infested-block-breaking: true
224
+ `;
225
+
226
+ await FileUtils.writeFile(configFile, configContent);
227
+ this.logger.debug('ViaVersion configuration created');
228
+ }
229
+ }