@minecraft-docker/mcctl 1.6.6 → 1.6.8

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/dist/index.js CHANGED
@@ -2,7 +2,20 @@
2
2
  import { Paths, log, colors } from '@minecraft-docker/shared';
3
3
  import { initCommand, statusCommand, createCommand, deleteCommand, worldCommand, backupCommand, execCommand, configCommand, opCommand, serverBackupCommand, serverRestoreCommand, whitelistCommand, banCommand, kickCommand, playerOnlineCommand, playerCommand, migrateCommand, modCommand, consoleInitCommand, consoleServiceCommand, consoleUserCommand, consoleApiCommand, consoleRemoveCommand, } from './commands/index.js';
4
4
  import { ShellExecutor } from './lib/shell.js';
5
- const VERSION = '0.1.0';
5
+ import { checkForUpdates } from './lib/update-checker.js';
6
+ import { readFileSync } from 'fs';
7
+ // Read version from package.json
8
+ function getVersion() {
9
+ try {
10
+ const packageJsonPath = new URL('../package.json', import.meta.url);
11
+ const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
12
+ return packageJson.version;
13
+ }
14
+ catch {
15
+ return '0.0.0';
16
+ }
17
+ }
18
+ const VERSION = getVersion();
6
19
  /**
7
20
  * Handle console command (shared by both 'console' and deprecated 'admin' commands)
8
21
  */
@@ -347,10 +360,12 @@ async function main() {
347
360
  printUsage();
348
361
  process.exit(0);
349
362
  }
350
- if (flags['version'] || command === '--version') {
363
+ if (flags['version'] === true || command === '--version') {
351
364
  console.log(`mcctl version ${VERSION}`);
352
365
  process.exit(0);
353
366
  }
367
+ // Check for updates (with 24-hour cache)
368
+ await checkForUpdates();
354
369
  const rootDir = flags['root'];
355
370
  const sudoPassword = flags['sudo-password'];
356
371
  const paths = new Paths(rootDir);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Check for updates and print notification if available
3
+ */
4
+ export declare function checkForUpdates(): Promise<void>;
5
+ //# sourceMappingURL=update-checker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-checker.d.ts","sourceRoot":"","sources":["../../src/lib/update-checker.ts"],"names":[],"mappings":"AAwIA;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAiCrD"}
@@ -0,0 +1,149 @@
1
+ import { homedir } from 'os';
2
+ import { join } from 'path';
3
+ import { readFileSync, writeFileSync, existsSync } from 'fs';
4
+ import { colors } from '@minecraft-docker/shared';
5
+ const PACKAGE_NAME = '@minecraft-docker/mcctl';
6
+ const CACHE_FILE = join(homedir(), '.mcctl-update-check.json');
7
+ const CACHE_DURATION_MS = 24 * 60 * 60 * 1000; // 24 hours
8
+ const FETCH_TIMEOUT_MS = 2000; // 2 seconds
9
+ /**
10
+ * Get the current installed version from package.json
11
+ */
12
+ function getCurrentVersion() {
13
+ try {
14
+ // Read from the package.json in the dist directory's parent
15
+ const packageJsonPath = new URL('../../package.json', import.meta.url);
16
+ const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
17
+ return packageJson.version;
18
+ }
19
+ catch {
20
+ return '0.0.0';
21
+ }
22
+ }
23
+ /**
24
+ * Read cache file
25
+ */
26
+ function readCache() {
27
+ try {
28
+ if (!existsSync(CACHE_FILE)) {
29
+ return null;
30
+ }
31
+ const data = readFileSync(CACHE_FILE, 'utf-8');
32
+ return JSON.parse(data);
33
+ }
34
+ catch {
35
+ return null;
36
+ }
37
+ }
38
+ /**
39
+ * Write cache file
40
+ */
41
+ function writeCache(data) {
42
+ try {
43
+ writeFileSync(CACHE_FILE, JSON.stringify(data, null, 2));
44
+ }
45
+ catch {
46
+ // Ignore write errors
47
+ }
48
+ }
49
+ /**
50
+ * Fetch latest version from npm registry
51
+ */
52
+ async function fetchLatestVersion() {
53
+ const controller = new AbortController();
54
+ const timeoutId = setTimeout(() => controller.abort(), FETCH_TIMEOUT_MS);
55
+ try {
56
+ const response = await fetch(`https://registry.npmjs.org/${PACKAGE_NAME}/latest`, { signal: controller.signal });
57
+ clearTimeout(timeoutId);
58
+ if (!response.ok) {
59
+ return null;
60
+ }
61
+ const data = await response.json();
62
+ return data.version;
63
+ }
64
+ catch {
65
+ clearTimeout(timeoutId);
66
+ return null;
67
+ }
68
+ }
69
+ /**
70
+ * Compare two semantic versions
71
+ * Returns true if version2 is newer than version1
72
+ */
73
+ function isNewerVersion(currentVersion, latestVersion) {
74
+ const parseVersion = (v) => {
75
+ return v.replace(/^v/, '').split('.').map(n => parseInt(n, 10) || 0);
76
+ };
77
+ const current = parseVersion(currentVersion);
78
+ const latest = parseVersion(latestVersion);
79
+ for (let i = 0; i < Math.max(current.length, latest.length); i++) {
80
+ const c = current[i] ?? 0;
81
+ const l = latest[i] ?? 0;
82
+ if (l > c)
83
+ return true;
84
+ if (l < c)
85
+ return false;
86
+ }
87
+ return false;
88
+ }
89
+ /**
90
+ * Print update notification box
91
+ */
92
+ function printUpdateNotification(currentVersion, latestVersion) {
93
+ const message1 = `Update available: ${currentVersion} → ${latestVersion}`;
94
+ const message2 = `Run: npm i -g ${PACKAGE_NAME}`;
95
+ const maxLen = Math.max(message1.length, message2.length);
96
+ const padding = 2;
97
+ const boxWidth = maxLen + padding * 2;
98
+ const topBorder = '┌' + '─'.repeat(boxWidth) + '┐';
99
+ const bottomBorder = '└' + '─'.repeat(boxWidth) + '┘';
100
+ const emptyLine = '│' + ' '.repeat(boxWidth) + '│';
101
+ const padLine = (text) => {
102
+ const leftPad = ' '.repeat(padding);
103
+ const rightPad = ' '.repeat(boxWidth - text.length - padding);
104
+ return '│' + leftPad + text + rightPad + '│';
105
+ };
106
+ console.log('');
107
+ console.log(colors.yellow(topBorder));
108
+ console.log(colors.yellow(emptyLine));
109
+ console.log(colors.yellow(padLine(message1)));
110
+ console.log(colors.yellow(padLine(message2)));
111
+ console.log(colors.yellow(emptyLine));
112
+ console.log(colors.yellow(bottomBorder));
113
+ console.log('');
114
+ }
115
+ /**
116
+ * Check for updates and print notification if available
117
+ */
118
+ export async function checkForUpdates() {
119
+ try {
120
+ const currentVersion = getCurrentVersion();
121
+ const cache = readCache();
122
+ const now = Date.now();
123
+ // Check if cache is valid (within 24 hours)
124
+ if (cache && (now - cache.lastCheck) < CACHE_DURATION_MS) {
125
+ // Use cached version
126
+ if (isNewerVersion(currentVersion, cache.latestVersion)) {
127
+ printUpdateNotification(currentVersion, cache.latestVersion);
128
+ }
129
+ return;
130
+ }
131
+ // Fetch latest version from npm
132
+ const latestVersion = await fetchLatestVersion();
133
+ if (latestVersion) {
134
+ // Update cache
135
+ writeCache({
136
+ lastCheck: now,
137
+ latestVersion,
138
+ });
139
+ // Check if update is available
140
+ if (isNewerVersion(currentVersion, latestVersion)) {
141
+ printUpdateNotification(currentVersion, latestVersion);
142
+ }
143
+ }
144
+ }
145
+ catch {
146
+ // Silently ignore any errors - don't disrupt the user
147
+ }
148
+ }
149
+ //# sourceMappingURL=update-checker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-checker.js","sourceRoot":"","sources":["../../src/lib/update-checker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@minecraft-docker/mcctl",
3
- "version": "1.6.6",
3
+ "version": "1.6.8",
4
4
  "description": "CLI tool for managing Docker Minecraft servers with mc-router",
5
5
  "type": "module",
6
6
  "bin": {
@@ -9,7 +9,8 @@
9
9
  "main": "dist/index.js",
10
10
  "types": "dist/index.d.ts",
11
11
  "files": [
12
- "dist"
12
+ "dist",
13
+ "templates"
13
14
  ],
14
15
  "publishConfig": {
15
16
  "access": "public"
@@ -49,7 +50,7 @@
49
50
  "dependencies": {
50
51
  "@clack/prompts": "^0.8.0",
51
52
  "@minecraft-docker/mod-source-modrinth": "^1.0.0",
52
- "@minecraft-docker/shared": "^1.6.6",
53
+ "@minecraft-docker/shared": "^1.6.8",
53
54
  "commander": "^12.0.0",
54
55
  "js-yaml": "^4.1.0",
55
56
  "picocolors": "^1.1.0",
@@ -0,0 +1,99 @@
1
+ # =============================================================================
2
+ # Global Environment Variables for Multi-Server Minecraft Management
3
+ # =============================================================================
4
+ # Copy this file to .env and customize values:
5
+ # cp .env.example .env
6
+ # =============================================================================
7
+
8
+ # Network Configuration
9
+ MINECRAFT_NETWORK=minecraft-net
10
+ MINECRAFT_SUBNET=172.28.0.0/16
11
+
12
+ # Host IP(s) for server hostname routing
13
+ # Used by create-server.sh to configure mc-router hostnames
14
+ # If not set, auto-detected from default network interface
15
+
16
+ # Primary IP for mDNS registration (avahi-daemon)
17
+ HOST_IP=192.168.1.100
18
+
19
+ # Multiple IPs (VPN mesh: Tailscale, ZeroTier, Nebula, etc.)
20
+ # Comma-separated list of IPs - each generates a nip.io hostname
21
+ # Example: LAN IP + VPN IP for access from multiple networks
22
+ # HOST_IPS=192.168.1.100,100.64.0.5
23
+
24
+ # mc-router Settings (configured via docker-compose.yml command)
25
+ # --auto-scale-down-after=10m # Stop server after 10 min idle
26
+ # --docker-timeout=120 # Wait 2 min for server startup
27
+
28
+ # Default Server Settings
29
+ DEFAULT_MEMORY=4G
30
+ DEFAULT_VERSION=1.20.4
31
+
32
+ # Timezone
33
+ TZ=Asia/Seoul
34
+
35
+ # RCON Configuration (CHANGE IN PRODUCTION!)
36
+ RCON_PASSWORD=changeme
37
+ RCON_PORT=25575
38
+
39
+ # Docker Compose Project Name (optional)
40
+ COMPOSE_PROJECT_NAME=minecraft
41
+
42
+ # =============================================================================
43
+ # GitHub Backup Configuration (Optional)
44
+ # =============================================================================
45
+ # Backup worlds/ directory to a private GitHub repository.
46
+ # Create a Personal Access Token at: https://github.com/settings/tokens
47
+ # Token needs 'repo' scope for private repository access.
48
+ #
49
+ # BACKUP_GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxx
50
+ # BACKUP_GITHUB_REPO=username/minecraft-worlds-backup
51
+ # BACKUP_GITHUB_BRANCH=main
52
+ # BACKUP_AUTO_ON_STOP=true
53
+
54
+ # =============================================================================
55
+ # Admin Service Configuration (Optional)
56
+ # =============================================================================
57
+ # Web-based management UI for Minecraft servers.
58
+ # Start with: mcctl admin service start
59
+ #
60
+ # Or manually:
61
+ # docker compose -f docker-compose.yml -f docker-compose.admin.yml up -d
62
+ # =============================================================================
63
+
64
+ # --- Container Images ---
65
+ # Use pre-built images or build locally
66
+ MCCTL_API_IMAGE=minecraft-docker/mcctl-api:latest
67
+ MCCTL_CONSOLE_IMAGE=minecraft-docker/mcctl-console:latest
68
+
69
+ # --- Port Configuration ---
70
+ # mcctl-console: Web UI accessible on this port (default: 3000)
71
+ MCCTL_CONSOLE_PORT=3000
72
+ # mcctl-api: Internal API port (default: 3001, usually not exposed externally)
73
+ # MCCTL_API_PORT=3001
74
+
75
+ # --- API Configuration ---
76
+ # Access mode: internal (only mcctl-console) or external (direct API access)
77
+ API_ACCESS_MODE=internal
78
+ # API key for external access or internal service communication
79
+ # Generate with: openssl rand -hex 32
80
+ # API_KEY=your-api-key-here
81
+
82
+ # --- Security (CHANGE IN PRODUCTION!) ---
83
+ # JWT secret for API authentication
84
+ # Generate with: openssl rand -hex 64
85
+ MCCTL_JWT_SECRET=change-me-in-production
86
+ MCCTL_JWT_EXPIRY=24h
87
+
88
+ # NextAuth secret for session management
89
+ # Generate with: openssl rand -hex 64
90
+ NEXTAUTH_SECRET=change-me-in-production
91
+ # Public URL for NextAuth callbacks
92
+ NEXTAUTH_URL=http://localhost:3000
93
+
94
+ # --- CORS Configuration ---
95
+ # Allowed origins for API requests (comma-separated)
96
+ MCCTL_CORS_ORIGIN=http://localhost:3000
97
+
98
+ # --- Logging ---
99
+ LOG_LEVEL=info
@@ -0,0 +1,80 @@
1
+ # =============================================================================
2
+ # Multi-Server Minecraft Docker Compose Configuration
3
+ # =============================================================================
4
+ # Architecture:
5
+ # - mc-router: Connection router with auto-scale support (hostname-based)
6
+ # - MC Servers: Each server in its own directory under servers/
7
+ #
8
+ # Adding a new server (fully automated):
9
+ # mcctl create <server-name> [options]
10
+ #
11
+ # The script automatically:
12
+ # - Creates server directory and configuration
13
+ # - Registers hostname with avahi-daemon (mDNS)
14
+ # - Updates servers/compose.yml (this file is NOT modified)
15
+ # - Starts the server (use --no-start to skip)
16
+ #
17
+ # Server naming convention:
18
+ # - Directory: servers/<server-name>/
19
+ # - Service: mc-<server-name>
20
+ # - Container: mc-<server-name>
21
+ # - Hostname: <server-name>.local
22
+ #
23
+ # mc-router auto-discovery:
24
+ # mc-router uses --in-docker mode to automatically discover servers
25
+ # via Docker labels (mc-router.host). No manual MAPPING needed.
26
+ #
27
+ # Connection (via avahi-daemon mDNS):
28
+ # Clients on the same LAN automatically discover servers via mDNS.
29
+ # Just connect to: <server-name>.local:25565
30
+ #
31
+ # Fallback (if mDNS unavailable):
32
+ # Add to /etc/hosts: <server-ip> <server-name>.local
33
+ # =============================================================================
34
+
35
+ # -----------------------------------------------------------------------------
36
+ # Include server configurations (from servers/compose.yml)
37
+ # -----------------------------------------------------------------------------
38
+ include:
39
+ - servers/compose.yml
40
+
41
+ # -----------------------------------------------------------------------------
42
+ # Services
43
+ # -----------------------------------------------------------------------------
44
+ services:
45
+ # ===========================================================================
46
+ # MC Router - Connection Router with Auto-Scale
47
+ # ===========================================================================
48
+ # mc-router auto-discovers servers via Docker labels (mc-router.host)
49
+ # No MAPPING environment variable needed with --in-docker mode
50
+ # ===========================================================================
51
+ router:
52
+ image: itzg/mc-router
53
+ container_name: mc-router
54
+ restart: unless-stopped
55
+ environment:
56
+ IN_DOCKER: "true"
57
+ AUTO_SCALE_UP: "true"
58
+ AUTO_SCALE_DOWN: "true"
59
+ AUTO_SCALE_DOWN_AFTER: "1m"
60
+ DOCKER_TIMEOUT: "120"
61
+ AUTO_SCALE_ASLEEP_MOTD: "§e§lServer is sleeping§r\n§7Connect to wake up!"
62
+ API_BINDING: ":8080"
63
+ ports:
64
+ - "25565:25565"
65
+ - "127.0.0.1:25580:8080" # Management API (localhost only, for healthcheck)
66
+ volumes:
67
+ - /var/run/docker.sock:/var/run/docker.sock:ro
68
+ networks:
69
+ - minecraft-net
70
+
71
+ # -----------------------------------------------------------------------------
72
+ # Networks
73
+ # -----------------------------------------------------------------------------
74
+ networks:
75
+ minecraft-net:
76
+ name: ${MINECRAFT_NETWORK:-minecraft-net}
77
+ driver: bridge
78
+ ipam:
79
+ config:
80
+ - subnet: ${MINECRAFT_SUBNET:-172.28.0.0/16}
@@ -0,0 +1,57 @@
1
+ // ecosystem.config.js
2
+ // =============================================================================
3
+ // PM2 Ecosystem Configuration for Minecraft Admin Service
4
+ // =============================================================================
5
+ // This file is auto-generated by 'mcctl console init' command.
6
+ // It configures PM2 to run mcctl-api and mcctl-console services.
7
+ //
8
+ // Usage:
9
+ // pm2 start ecosystem.config.js # Start all services
10
+ // pm2 stop all # Stop all services
11
+ // pm2 restart all # Restart all services
12
+ // pm2 logs # View logs
13
+ // pm2 status # Check status
14
+ //
15
+ // Installation:
16
+ // npm install -g pm2
17
+ // pm2 startup # Configure auto-start on boot
18
+ // pm2 save # Save current process list
19
+ // =============================================================================
20
+
21
+ module.exports = {
22
+ apps: [
23
+ {
24
+ name: 'mcctl-api',
25
+ script: 'node_modules/@minecraft-docker/mcctl-api/dist/index.js',
26
+ cwd: process.env.MCCTL_ROOT || '.',
27
+ env: {
28
+ NODE_ENV: 'production',
29
+ PORT: 3001,
30
+ HOST: '0.0.0.0',
31
+ MCCTL_ROOT: process.env.MCCTL_ROOT || '.',
32
+ },
33
+ instances: 1,
34
+ exec_mode: 'fork',
35
+ watch: false,
36
+ autorestart: true,
37
+ max_memory_restart: '500M',
38
+ },
39
+ {
40
+ name: 'mcctl-console',
41
+ script: 'node_modules/@minecraft-docker/mcctl-console/.next/standalone/platform/services/mcctl-console/server.js',
42
+ cwd: process.env.MCCTL_ROOT || '.',
43
+ env: {
44
+ NODE_ENV: 'production',
45
+ PORT: 3000,
46
+ HOSTNAME: '0.0.0.0',
47
+ MCCTL_API_URL: 'http://localhost:3001',
48
+ MCCTL_ROOT: process.env.MCCTL_ROOT || '.',
49
+ },
50
+ instances: 1,
51
+ exec_mode: 'fork',
52
+ watch: false,
53
+ autorestart: true,
54
+ max_memory_restart: '500M',
55
+ },
56
+ ],
57
+ };
File without changes
@@ -0,0 +1,97 @@
1
+ # =============================================================================
2
+ # Server Configuration Template
3
+ # =============================================================================
4
+ # IMPORTANT: Use create-server.sh script to create a new server:
5
+ # ./scripts/create-server.sh <your-server-name> [PAPER|VANILLA|FORGE|FABRIC]
6
+ #
7
+ # The server name you provide will be used for:
8
+ # - Directory name: servers/<server-name>/
9
+ # - Service name: mc-<server-name>
10
+ # - Container name: mc-<server-name>
11
+ # - Hostname: <server-name>.local
12
+ #
13
+ # After creation, edit this file to customize your server settings.
14
+ # =============================================================================
15
+
16
+ # -----------------------------------------------------------------------------
17
+ # Server Type
18
+ # -----------------------------------------------------------------------------
19
+ TYPE=PAPER
20
+ # Options: VANILLA, PAPER, SPIGOT, FORGE, FABRIC, NEOFORGE, QUILT
21
+ # See: https://docker-minecraft-server.readthedocs.io/en/latest/types-and-platforms/
22
+
23
+ # Minecraft Version
24
+ VERSION=1.20.4
25
+
26
+ # -----------------------------------------------------------------------------
27
+ # Resources
28
+ # -----------------------------------------------------------------------------
29
+ MEMORY=4G
30
+ # Recommended:
31
+ # VANILLA/PAPER: 2G
32
+ # FORGE/FABRIC: 4G
33
+ # Modpacks: 6G+
34
+
35
+ # -----------------------------------------------------------------------------
36
+ # Game Settings
37
+ # -----------------------------------------------------------------------------
38
+ GAMEMODE=survival
39
+ # Options: survival, creative, adventure, spectator
40
+
41
+ DIFFICULTY=normal
42
+ # Options: peaceful, easy, normal, hard
43
+
44
+ MAX_PLAYERS=20
45
+ VIEW_DISTANCE=10
46
+ PVP=true
47
+ SPAWN_PROTECTION=0
48
+
49
+ # -----------------------------------------------------------------------------
50
+ # World
51
+ # -----------------------------------------------------------------------------
52
+ # Option 1: Default - new world with random seed
53
+ LEVEL=world
54
+
55
+ # Option 2: Specific seed (set via create-server.sh --seed)
56
+ # SEED=12345
57
+
58
+ # Option 3: Download from URL (set via create-server.sh --world-url)
59
+ # WORLD=https://example.com/world.zip
60
+
61
+ # Note: LEVEL specifies the world directory name in /data
62
+ # If using SEED, a new world with that seed will be generated
63
+ # If using WORLD (URL), the ZIP will be downloaded and extracted
64
+
65
+ # -----------------------------------------------------------------------------
66
+ # RCON (Password inherited from .env)
67
+ # -----------------------------------------------------------------------------
68
+ ENABLE_RCON=true
69
+
70
+ # -----------------------------------------------------------------------------
71
+ # Server MOTD (Message of the Day)
72
+ # -----------------------------------------------------------------------------
73
+ MOTD=Welcome! Your adventure begins here.
74
+
75
+ # -----------------------------------------------------------------------------
76
+ # Optional: Mods/Plugins
77
+ # -----------------------------------------------------------------------------
78
+ # MODRINTH_PROJECTS: |
79
+ # fabric-api
80
+ # lithium
81
+
82
+ # SPIGET_RESOURCES: "1234,5678"
83
+
84
+ # ⚠️ IMPORTANT: Auto-download mod dependencies from Modrinth
85
+ # Options: required, optional, none
86
+ # - required: Download required dependencies automatically (RECOMMENDED)
87
+ # - optional: Download required + optional dependencies
88
+ # - none: Don't download dependencies (manual management)
89
+ MODRINTH_DOWNLOAD_DEPENDENCIES=required
90
+
91
+ # -----------------------------------------------------------------------------
92
+ # Optional: Advanced
93
+ # -----------------------------------------------------------------------------
94
+ # USE_AIKAR_FLAGS=true
95
+ # ICON=https://example.com/icon.png
96
+ # WHITELIST=player1,player2
97
+ # OPS=admin1,admin2
@@ -0,0 +1,58 @@
1
+ # =============================================================================
2
+ # Minecraft Server Configuration Template
3
+ # =============================================================================
4
+ # IMPORTANT: Use create-server.sh script to create a new server:
5
+ # ./scripts/create-server.sh <your-server-name> [PAPER|VANILLA|FORGE|FABRIC]
6
+ #
7
+ # The server name you provide will be used for:
8
+ # - Directory name: servers/<server-name>/
9
+ # - Service name: mc-<server-name>
10
+ # - Container name: mc-<server-name>
11
+ # - Hostname: <server-name>.local
12
+ #
13
+ # Manual setup (if not using script):
14
+ # 1. Copy this directory: cp -r servers/_template servers/<server-name>
15
+ # 2. Replace all 'template' with '<server-name>' in this file
16
+ # 3. Edit config.env with your server settings
17
+ # 4. Add include to servers/compose.yml
18
+ #
19
+ # mc-router auto-discovery:
20
+ # mc-router automatically discovers servers via Docker labels (mc-router.host)
21
+ # No manual MAPPING configuration needed.
22
+ # =============================================================================
23
+
24
+ services:
25
+ # ---------------------------------------------------------------------------
26
+ # IMPORTANT: Change 'template' to your server name (must match directory name)
27
+ # Example: mc-template -> mc-ironwood
28
+ # ---------------------------------------------------------------------------
29
+ mc-template:
30
+ image: itzg/minecraft-server:java21
31
+ container_name: mc-template
32
+ restart: "no"
33
+ tty: true
34
+ stdin_open: true
35
+ env_file:
36
+ - ../../.env
37
+ - config.env
38
+ environment:
39
+ EULA: "TRUE"
40
+ volumes:
41
+ - ./data:/data
42
+ - ./logs:/data/logs
43
+ - ../../worlds:/worlds:rw
44
+ - ../../shared/plugins:/plugins:ro
45
+ networks:
46
+ - minecraft-net
47
+ labels:
48
+ # IMPORTANT: Change 'template.local' to '<server-name>.local'
49
+ # Example: template.local -> ironwood.local
50
+ mc-router.host: "template.local"
51
+ mc-router.auto-scale-up: "true"
52
+ mc-router.auto-scale-down: "true"
53
+ # Custom MOTD when server is starting (supports Minecraft formatting codes)
54
+ # §e = yellow, §a = green, §c = red, §b = aqua, §f = white
55
+ # §l = bold, §o = italic, §n = underline
56
+ mc-router.auto-scale-asleep-motd: "§e§lServer is sleeping§r\n§7Connect to wake up!"
57
+
58
+ # Network is defined in main docker-compose.yml