@minecraft-docker/mcctl 1.7.0 → 1.7.1

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
@@ -73,26 +73,27 @@ mcctl logs myserver
73
73
 
74
74
  ## Changelog
75
75
 
76
- ### v1.7.0 (2026-01-31)
77
- - **feat(api)**: Router Status API, Server Create/Delete API, Player Management API, Backup API
78
- - **feat(cli)**: Add `mcctl init --reconfigure` command
79
- - **test**: Comprehensive E2E tests for API and CLI commands
80
-
81
- ### v1.6.16 (2026-01-31)
82
- - **chore**: Add README Changelog sync instructions to agent definitions
83
-
84
- ### v1.6.15 (2026-01-31)
85
- - **feat**: New `mcctl backup init` command for interactive GitHub backup setup
86
- - **fix**: Include `scripts/` directory in npm package for template initialization
87
-
88
- ### v1.6.14 (2026-01-31)
89
- - **fix**: Sync all package versions to tag version before npm publish
90
-
91
- ### v1.6.13 (2026-01-31)
92
- - **fix**: Sync CHANGELOG.md to CLI package for npm page display
93
-
94
- ### v1.6.12 (2026-01-31)
95
- - **fix(critical)**: Add missing `EXTRA_ARGS=--universe /worlds/` to npm package template
76
+ ### v1.6.3 (2026-01-30)
77
+ - **fix**: npm publish support for `@minecraft-docker/mod-source-modrinth` package
78
+ - **docs**: Added project badges to README
79
+ - **docs**: Created development guide (EN/KO)
80
+ - **ci**: Added mod-source-modrinth to release workflow
81
+
82
+ ### v1.6.2 (2026-01-28)
83
+ - **feat**: Improved API, E2E tests, and documentation
84
+ - **fix**: Various bug fixes and stability improvements
85
+
86
+ ### v1.6.0 (2026-01-24)
87
+ - **feat**: Added mod management commands (`mcctl mod search/add/remove`)
88
+ - **feat**: Modrinth integration for mod search and installation
89
+
90
+ ### v1.5.0 (2026-01-21)
91
+ - **feat**: Added player management with Mojang API integration
92
+ - **feat**: Local player cache for offline UUID lookup
93
+
94
+ ### v1.4.0 (2026-01-20)
95
+ - **feat**: World management commands (`mcctl world new/assign/release`)
96
+ - **feat**: Server backup and restore functionality
96
97
 
97
98
  [Full Changelog](https://github.com/smallmiro/minecraft-server-manager/releases)
98
99
 
@@ -8,7 +8,6 @@ export interface BackupCommandOptions {
8
8
  commitHash?: string;
9
9
  json?: boolean;
10
10
  auto?: boolean;
11
- force?: boolean;
12
11
  }
13
12
  /**
14
13
  * Execute backup command
@@ -1 +1 @@
1
- {"version":3,"file":"backup.d.ts","sourceRoot":"","sources":["../../src/commands/backup.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAiClF"}
1
+ {"version":3,"file":"backup.d.ts","sourceRoot":"","sources":["../../src/commands/backup.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CA8BlF"}
@@ -1,4 +1,4 @@
1
- import { Paths, Config, log, colors } from '@minecraft-docker/shared';
1
+ import { Paths, log, colors } from '@minecraft-docker/shared';
2
2
  import { getContainer } from '../infrastructure/index.js';
3
3
  /**
4
4
  * Execute backup command
@@ -13,8 +13,6 @@ export async function backupCommand(options) {
13
13
  const container = getContainer(options.root);
14
14
  const subCommand = options.subCommand ?? 'status';
15
15
  switch (subCommand) {
16
- case 'init':
17
- return backupInit(paths, container, options);
18
16
  case 'status':
19
17
  return backupStatus(container, options);
20
18
  case 'push':
@@ -25,34 +23,10 @@ export async function backupCommand(options) {
25
23
  return backupRestore(container, options);
26
24
  default:
27
25
  log.error(`Unknown backup subcommand: ${subCommand}`);
28
- console.log('Usage: mcctl backup [init|status|push|history|restore]');
26
+ console.log('Usage: mcctl backup [status|push|history|restore]');
29
27
  return 1;
30
28
  }
31
29
  }
32
- /**
33
- * Initialize backup configuration
34
- */
35
- async function backupInit(paths, container, options) {
36
- const useCase = container.backupUseCase;
37
- const config = new Config(paths);
38
- // Set callback to save configuration to .env
39
- useCase.setConfigSaveCallback((envConfig) => {
40
- config.updateEnv(envConfig);
41
- });
42
- try {
43
- const result = await useCase.init(options.force);
44
- return result.success ? 0 : 1;
45
- }
46
- catch (error) {
47
- const prompt = container.promptPort;
48
- if (prompt.isCancel(error)) {
49
- return 0;
50
- }
51
- const message = error instanceof Error ? error.message : String(error);
52
- log.error(message);
53
- return 1;
54
- }
55
- }
56
30
  /**
57
31
  * Show backup status
58
32
  */
@@ -1 +1 @@
1
- {"version":3,"file":"backup.js","sourceRoot":"","sources":["../../src/commands/backup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backup.js","sourceRoot":"","sources":["../../src/commands/backup.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ function loadConfig() {
21
21
  return {
22
22
  accessMode: 'internal',
23
23
  apiKey: generateApiKey(),
24
- port: 5001,
24
+ port: 3001,
25
25
  ipWhitelist: [],
26
26
  };
27
27
  }
@@ -33,7 +33,7 @@ function loadConfig() {
33
33
  return {
34
34
  accessMode: 'internal',
35
35
  apiKey: generateApiKey(),
36
- port: 5001,
36
+ port: 3001,
37
37
  ipWhitelist: [],
38
38
  };
39
39
  }
@@ -326,8 +326,8 @@ export async function consoleInitCommand(options) {
326
326
  initialValue: 'internal',
327
327
  });
328
328
  // Step 5: Port configuration
329
- const DEFAULT_API_PORT = 5001;
330
- const DEFAULT_CONSOLE_PORT = 5000;
329
+ const DEFAULT_API_PORT = 3001;
330
+ const DEFAULT_CONSOLE_PORT = 3000;
331
331
  let apiPort = options.apiPort ?? DEFAULT_API_PORT;
332
332
  let consolePort = options.consolePort ?? DEFAULT_CONSOLE_PORT;
333
333
  // Only ask for ports if not provided via CLI options
@@ -12,8 +12,8 @@ import { Paths, colors, log, ServiceStatusEnum } from '@minecraft-docker/shared'
12
12
  import { spawn } from 'node:child_process';
13
13
  import { Pm2ServiceManagerAdapter } from '../../infrastructure/adapters/Pm2ServiceManagerAdapter.js';
14
14
  import { checkPm2Installation, ecosystemConfigExists, PM2_SERVICE_NAMES, } from '../../lib/pm2-utils.js';
15
- const API_PORT_DEFAULT = 5001;
16
- const CONSOLE_PORT_DEFAULT = 5000;
15
+ const API_PORT_DEFAULT = 3001;
16
+ const CONSOLE_PORT_DEFAULT = 3000;
17
17
  /**
18
18
  * Check PM2 is installed
19
19
  */
@@ -16,7 +16,6 @@ export { playerOnlineCommand, type PlayerOnlineCommandOptions } from './player-o
16
16
  export { playerCommand, type PlayerCommandOptions } from './player.js';
17
17
  export { migrateCommand, type MigrateCommandOptions } from './migrate.js';
18
18
  export { modCommand, type ModCommandOptions } from './mod.js';
19
- export { updateCommand, type UpdateCommandOptions } from './update.js';
20
19
  export { consoleInitCommand, consoleServiceCommand, consoleUserCommand, consoleApiCommand, consoleRemoveCommand, deleteAdminImages, type ConsoleInitOptions, type ConsoleServiceOptions, type ConsoleUserCommandOptions, type ConsoleApiCommandOptions, type ConsoleRemoveOptions, } from './console/index.js';
21
20
  export { adminInitCommand, adminServiceCommand, adminUserCommand, adminApiCommand, type AdminInitOptions, type AdminServiceOptions, type AdminUserCommandOptions, type AdminApiCommandOptions, } from './console/index.js';
22
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAGvE,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,GAC5B,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAG9D,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,GAC5B,MAAM,oBAAoB,CAAC"}
@@ -16,7 +16,6 @@ export { playerOnlineCommand } from './player-online.js';
16
16
  export { playerCommand } from './player.js';
17
17
  export { migrateCommand } from './migrate.js';
18
18
  export { modCommand } from './mod.js';
19
- export { updateCommand } from './update.js';
20
19
  // Console commands (new names)
21
20
  export { consoleInitCommand, consoleServiceCommand, consoleUserCommand, consoleApiCommand, consoleRemoveCommand, deleteAdminImages, } from './console/index.js';
22
21
  // Backward compatibility aliases (deprecated - use console* instead)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAA6B,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,aAAa,EAA6B,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,YAAY,EAA4B,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,aAAa,EAA6B,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,WAAW,EAA2B,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,aAAa,EAA6B,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,SAAS,EAAyB,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAA4B,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAA6B,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAgC,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAE,UAAU,EAA0B,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,WAAW,EAA2B,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAmC,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EAAE,aAAa,EAA6B,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,cAAc,EAA8B,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,UAAU,EAA0B,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,aAAa,EAA6B,MAAM,aAAa,CAAC;AAEvE,+BAA+B;AAC/B,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,GAMlB,MAAM,oBAAoB,CAAC;AAE5B,qEAAqE;AACrE,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,GAKhB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAA6B,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,aAAa,EAA6B,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,YAAY,EAA4B,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,aAAa,EAA6B,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,WAAW,EAA2B,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,aAAa,EAA6B,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,SAAS,EAAyB,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAA4B,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAA6B,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAgC,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAE,UAAU,EAA0B,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,WAAW,EAA2B,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAmC,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EAAE,aAAa,EAA6B,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,cAAc,EAA8B,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,UAAU,EAA0B,MAAM,UAAU,CAAC;AAE9D,+BAA+B;AAC/B,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,GAMlB,MAAM,oBAAoB,CAAC;AAE5B,qEAAqE;AACrE,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,GAKhB,MAAM,oBAAoB,CAAC"}
@@ -5,6 +5,5 @@ export declare function initCommand(options: {
5
5
  root?: string;
6
6
  skipValidation?: boolean;
7
7
  skipDocker?: boolean;
8
- reconfigure?: boolean;
9
8
  }): Promise<number>;
10
9
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,OAAO,CAAC,MAAM,CAAC,CA2PlB"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqPlB"}
@@ -1,9 +1,8 @@
1
- import { existsSync, mkdirSync, copyFileSync, readFileSync, writeFileSync, readdirSync } from 'node:fs';
1
+ import { existsSync, mkdirSync, copyFileSync, readFileSync, writeFileSync } from 'node:fs';
2
2
  import { join, dirname } from 'node:path';
3
3
  import { execSync } from 'node:child_process';
4
4
  import { Paths, Config, log, colors, checkDocker, checkDockerCompose } from '@minecraft-docker/shared';
5
5
  import { selectHostIPs, getNetworkInterfaces } from '../lib/prompts/ip-select.js';
6
- import { multiselect, text, select, confirm, password, isCancel } from '@clack/prompts';
7
6
  /**
8
7
  * Initialize the platform
9
8
  */
@@ -19,16 +18,10 @@ export async function initCommand(options) {
19
18
  console.log('');
20
19
  // Check if already initialized
21
20
  if (paths.isInitialized()) {
22
- if (options.reconfigure) {
23
- return reconfigureCommand(paths, config);
24
- }
25
21
  log.warn('Platform is already initialized');
26
22
  console.log(` Config: ${paths.configFile}`);
27
23
  console.log(` Compose: ${paths.composeFile}`);
28
24
  console.log('');
29
- console.log(' To reconfigure settings:');
30
- console.log(` ${colors.cyan('mcctl init --reconfigure')}`);
31
- console.log('');
32
25
  console.log(' To reinitialize, delete the data directory first:');
33
26
  console.log(` ${colors.dim(`rm -rf ${paths.root}`)}`);
34
27
  console.log('');
@@ -88,8 +81,8 @@ export async function initCommand(options) {
88
81
  const templateFiles = [
89
82
  { src: 'docker-compose.yml', dest: 'docker-compose.yml' },
90
83
  { src: '.env.example', dest: '.env' },
91
- { src: 'gitignore.template', dest: '.gitignore' },
92
- { src: 'servers/compose.template.yml', dest: 'servers/compose.yml' },
84
+ { src: '.gitignore', dest: '.gitignore' },
85
+ { src: 'servers/compose.yml', dest: 'servers/compose.yml' },
93
86
  { src: 'servers/_template/docker-compose.yml', dest: 'servers/_template/docker-compose.yml' },
94
87
  { src: 'servers/_template/config.env', dest: 'servers/_template/config.env' },
95
88
  ];
@@ -222,336 +215,4 @@ export async function initCommand(options) {
222
215
  console.log('');
223
216
  return 0;
224
217
  }
225
- /**
226
- * Reconfigure existing platform settings
227
- */
228
- async function reconfigureCommand(paths, config) {
229
- console.log('');
230
- console.log(colors.bold('═'.repeat(60)));
231
- console.log(colors.bold(' Minecraft Server Platform - Reconfigure'));
232
- console.log(colors.bold('═'.repeat(60)));
233
- console.log('');
234
- // Load current settings
235
- const envConfig = config.loadEnv();
236
- const mcctlConfig = config.load();
237
- if (!mcctlConfig) {
238
- log.error('Configuration file not found');
239
- return 1;
240
- }
241
- // Display current settings
242
- const displayIPs = envConfig.HOST_IPS || envConfig.HOST_IP || 'auto-detect';
243
- console.log(colors.cyan('Current Settings:'));
244
- console.log('');
245
- console.log(' Network:');
246
- console.log(` HOST_IP(s): ${colors.yellow(displayIPs)}`);
247
- console.log(` Timezone: ${colors.yellow(envConfig.TZ || 'system default')}`);
248
- console.log('');
249
- console.log(' Defaults:');
250
- console.log(` Default Memory: ${colors.yellow(envConfig.DEFAULT_MEMORY || '4G')}`);
251
- console.log(` Default Type: ${colors.yellow(mcctlConfig.defaultType)}`);
252
- console.log(` Default Version: ${colors.yellow(mcctlConfig.defaultVersion)}`);
253
- console.log('');
254
- console.log(' Behavior:');
255
- console.log(` Auto Start: ${colors.yellow(String(mcctlConfig.autoStart))}`);
256
- console.log(` Avahi Enabled: ${colors.yellow(String(mcctlConfig.avahiEnabled))}`);
257
- console.log('');
258
- console.log(' Security:');
259
- console.log(` RCON Password: ${colors.yellow(envConfig.RCON_PASSWORD ? '********' : 'not set')}`);
260
- console.log('');
261
- // Build settings list
262
- const settings = [
263
- {
264
- key: 'HOST_IP',
265
- label: 'Host IP(s)',
266
- source: 'env',
267
- currentValue: displayIPs,
268
- type: 'ip',
269
- },
270
- {
271
- key: 'DEFAULT_MEMORY',
272
- label: 'Default Memory',
273
- source: 'env',
274
- currentValue: envConfig.DEFAULT_MEMORY || '4G',
275
- type: 'text',
276
- validate: (value) => {
277
- if (!/^\d+[MG]$/i.test(value)) {
278
- return 'Invalid format. Use format like 4G or 2048M';
279
- }
280
- return undefined;
281
- },
282
- },
283
- {
284
- key: 'TZ',
285
- label: 'Timezone',
286
- source: 'env',
287
- currentValue: envConfig.TZ || 'system default',
288
- type: 'text',
289
- },
290
- {
291
- key: 'defaultType',
292
- label: 'Default Server Type',
293
- source: 'config',
294
- currentValue: mcctlConfig.defaultType,
295
- type: 'select',
296
- options: [
297
- { value: 'PAPER', label: 'Paper (Recommended)' },
298
- { value: 'VANILLA', label: 'Vanilla' },
299
- { value: 'FORGE', label: 'Forge' },
300
- { value: 'FABRIC', label: 'Fabric' },
301
- { value: 'SPIGOT', label: 'Spigot' },
302
- { value: 'BUKKIT', label: 'Bukkit' },
303
- ],
304
- },
305
- {
306
- key: 'defaultVersion',
307
- label: 'Default MC Version',
308
- source: 'config',
309
- currentValue: mcctlConfig.defaultVersion,
310
- type: 'text',
311
- validate: (value) => {
312
- if (!/^\d+\.\d+(\.\d+)?$/.test(value)) {
313
- return 'Invalid version format. Use format like 1.21.1';
314
- }
315
- return undefined;
316
- },
317
- },
318
- {
319
- key: 'autoStart',
320
- label: 'Auto Start Servers',
321
- source: 'config',
322
- currentValue: String(mcctlConfig.autoStart),
323
- type: 'confirm',
324
- },
325
- {
326
- key: 'avahiEnabled',
327
- label: 'Avahi/mDNS Enabled',
328
- source: 'config',
329
- currentValue: String(mcctlConfig.avahiEnabled),
330
- type: 'confirm',
331
- },
332
- {
333
- key: 'RCON_PASSWORD',
334
- label: 'RCON Password',
335
- source: 'env',
336
- currentValue: envConfig.RCON_PASSWORD ? '********' : 'not set',
337
- type: 'password',
338
- validate: (value) => {
339
- if (value.length < 8) {
340
- return 'Password must be at least 8 characters';
341
- }
342
- return undefined;
343
- },
344
- },
345
- ];
346
- // Multiselect for settings to change
347
- const selectedKeys = await multiselect({
348
- message: 'Select settings to change:',
349
- options: settings.map((s) => ({
350
- value: s.key,
351
- label: s.label,
352
- hint: `Current: ${s.currentValue}`,
353
- })),
354
- required: false,
355
- });
356
- if (isCancel(selectedKeys) || selectedKeys.length === 0) {
357
- console.log('');
358
- log.info('No changes made');
359
- return 0;
360
- }
361
- const keysToChange = selectedKeys;
362
- const envUpdates = {};
363
- const configUpdates = {};
364
- let ipChanged = false;
365
- let newHostIPs = '';
366
- // Prompt for each selected setting
367
- for (const key of keysToChange) {
368
- const setting = settings.find((s) => s.key === key);
369
- if (!setting)
370
- continue;
371
- console.log('');
372
- if (setting.type === 'ip') {
373
- // Use the existing IP selection prompt
374
- const selectedIPs = await selectHostIPs();
375
- if (isCancel(selectedIPs) || selectedIPs === null) {
376
- continue;
377
- }
378
- const ipList = selectedIPs.split(',');
379
- const primaryIP = ipList[0];
380
- envUpdates['HOST_IP'] = primaryIP;
381
- if (ipList.length > 1) {
382
- envUpdates['HOST_IPS'] = selectedIPs;
383
- }
384
- newHostIPs = selectedIPs;
385
- ipChanged = true;
386
- console.log(` ${colors.green('✓')} HOST_IP=${primaryIP}`);
387
- if (ipList.length > 1) {
388
- console.log(` ${colors.green('✓')} HOST_IPS=${selectedIPs}`);
389
- }
390
- }
391
- else if (setting.type === 'text') {
392
- const result = await text({
393
- message: `Enter ${setting.label}:`,
394
- placeholder: setting.currentValue,
395
- defaultValue: setting.currentValue === 'system default' ? '' : setting.currentValue,
396
- validate: setting.validate,
397
- });
398
- if (isCancel(result))
399
- continue;
400
- const value = result;
401
- if (setting.source === 'env') {
402
- envUpdates[key] = value;
403
- }
404
- else {
405
- configUpdates[key] = value;
406
- }
407
- console.log(` ${colors.green('✓')} ${key}=${value}`);
408
- }
409
- else if (setting.type === 'select' && setting.options) {
410
- const result = await select({
411
- message: `Select ${setting.label}:`,
412
- options: setting.options,
413
- initialValue: setting.currentValue,
414
- });
415
- if (isCancel(result))
416
- continue;
417
- const value = result;
418
- if (setting.source === 'env') {
419
- envUpdates[key] = value;
420
- }
421
- else {
422
- configUpdates[key] = value;
423
- }
424
- console.log(` ${colors.green('✓')} ${key}=${value}`);
425
- }
426
- else if (setting.type === 'confirm') {
427
- const result = await confirm({
428
- message: `Enable ${setting.label}?`,
429
- initialValue: setting.currentValue === 'true',
430
- });
431
- if (isCancel(result))
432
- continue;
433
- const value = result;
434
- if (setting.source === 'env') {
435
- envUpdates[key] = String(value);
436
- }
437
- else {
438
- configUpdates[key] = value;
439
- }
440
- console.log(` ${colors.green('✓')} ${key}=${value}`);
441
- }
442
- else if (setting.type === 'password') {
443
- const result = await password({
444
- message: `Enter ${setting.label}:`,
445
- validate: setting.validate,
446
- });
447
- if (isCancel(result))
448
- continue;
449
- const value = result;
450
- envUpdates[key] = value;
451
- console.log(` ${colors.green('✓')} ${key}=********`);
452
- }
453
- }
454
- // Apply changes to .env file
455
- if (Object.keys(envUpdates).length > 0) {
456
- config.updateEnv(envUpdates);
457
- console.log('');
458
- log.info('Updated .env file');
459
- }
460
- // Apply changes to .mcctl.json
461
- if (Object.keys(configUpdates).length > 0) {
462
- const updatedConfig = { ...mcctlConfig, ...configUpdates };
463
- config.save(updatedConfig);
464
- console.log('');
465
- log.info('Updated .mcctl.json');
466
- }
467
- // Handle IP change - update server hostnames
468
- if (ipChanged && newHostIPs) {
469
- console.log('');
470
- const updateServers = await confirm({
471
- message: 'Update existing servers with new IP hostnames?',
472
- initialValue: true,
473
- });
474
- if (!isCancel(updateServers) && updateServers) {
475
- const updatedCount = await updateServerHostnames(paths, newHostIPs);
476
- if (updatedCount > 0) {
477
- console.log(` ${colors.green('✓')} Updated ${updatedCount} server(s)`);
478
- }
479
- }
480
- // Prompt to restart mc-router
481
- const restartRouter = await confirm({
482
- message: 'Restart mc-router to apply changes?',
483
- initialValue: true,
484
- });
485
- if (!isCancel(restartRouter) && restartRouter) {
486
- try {
487
- // Using execSync with hardcoded command (no user input) - safe from injection
488
- execSync('docker compose restart mc-router', {
489
- cwd: paths.root,
490
- stdio: 'pipe',
491
- });
492
- console.log(` ${colors.green('✓')} mc-router restarted`);
493
- }
494
- catch {
495
- log.warn('Failed to restart mc-router (may not be running)');
496
- }
497
- }
498
- }
499
- // Success message
500
- console.log('');
501
- console.log(colors.green('═'.repeat(60)));
502
- console.log(colors.green(' ✓ Configuration updated successfully!'));
503
- console.log(colors.green('═'.repeat(60)));
504
- console.log('');
505
- return 0;
506
- }
507
- /**
508
- * Update server docker-compose.yml files with new hostnames
509
- */
510
- async function updateServerHostnames(paths, newHostIPs) {
511
- const serversDir = paths.servers;
512
- let updatedCount = 0;
513
- if (!existsSync(serversDir)) {
514
- return 0;
515
- }
516
- const serverDirs = readdirSync(serversDir, { withFileTypes: true })
517
- .filter((dirent) => dirent.isDirectory() && !dirent.name.startsWith('_'))
518
- .map((dirent) => dirent.name);
519
- for (const serverName of serverDirs) {
520
- const composeFile = join(serversDir, serverName, 'docker-compose.yml');
521
- if (!existsSync(composeFile)) {
522
- continue;
523
- }
524
- try {
525
- let content = readFileSync(composeFile, 'utf-8');
526
- // Build new hostname list
527
- const hostnames = buildHostnames(serverName, newHostIPs);
528
- // Replace mc-router.host label value
529
- // Match patterns like: mc-router.host: "server.local,server.ip.nip.io"
530
- const hostLabelRegex = /(mc-router\.host:\s*["'])([^"']+)(["'])/;
531
- const match = content.match(hostLabelRegex);
532
- if (match) {
533
- content = content.replace(hostLabelRegex, `$1${hostnames}$3`);
534
- writeFileSync(composeFile, content, 'utf-8');
535
- updatedCount++;
536
- }
537
- }
538
- catch {
539
- log.warn(`Failed to update ${serverName}/docker-compose.yml`);
540
- }
541
- }
542
- return updatedCount;
543
- }
544
- /**
545
- * Build hostname string from server name and IPs
546
- */
547
- function buildHostnames(serverName, hostIPs) {
548
- let hostnames = `${serverName}.local`;
549
- if (hostIPs) {
550
- const ips = hostIPs.split(',').map((ip) => ip.trim()).filter((ip) => ip);
551
- for (const ip of ips) {
552
- hostnames += `,${serverName}.${ip}.nip.io`;
553
- }
554
- }
555
- return hostnames;
556
- }
557
218
  //# sourceMappingURL=init.js.map