create-entity-server 0.3.0 → 0.3.2
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/package.json +1 -1
- package/template/scripts/run.sh +16 -0
- package/template/scripts/{install-systemd.sh → service-install.sh} +1 -31
- package/template/scripts/{remove-systemd.sh → service-remove.sh} +5 -25
- package/template/scripts/update-server.ps1 +17 -17
- package/template/scripts/update-server.sh +52 -23
package/package.json
CHANGED
package/template/scripts/run.sh
CHANGED
|
@@ -372,6 +372,22 @@ if [ $# -eq 0 ]; then
|
|
|
372
372
|
echo " $0 stop # 서버 중지"
|
|
373
373
|
echo " $0 status # 상태 조회"
|
|
374
374
|
fi
|
|
375
|
+
|
|
376
|
+
echo ""
|
|
377
|
+
if [ -f "$SERVER_CONFIG" ] && [ -f "$DATABASE_CONFIG" ] && [ -f "$SERVER_BIN" ]; then
|
|
378
|
+
if [ "$LANGUAGE" = "en" ]; then
|
|
379
|
+
echo "Current status:"
|
|
380
|
+
else
|
|
381
|
+
echo "현재 상태:"
|
|
382
|
+
fi
|
|
383
|
+
show_status
|
|
384
|
+
else
|
|
385
|
+
if [ "$LANGUAGE" = "en" ]; then
|
|
386
|
+
echo "Current status: unavailable (missing config or server binary)"
|
|
387
|
+
else
|
|
388
|
+
echo "현재 상태: 확인 불가 (설정 파일 또는 서버 바이너리 없음)"
|
|
389
|
+
fi
|
|
390
|
+
fi
|
|
375
391
|
exit 0
|
|
376
392
|
fi
|
|
377
393
|
|
|
@@ -38,36 +38,6 @@ load_namespace() {
|
|
|
38
38
|
|
|
39
39
|
load_namespace
|
|
40
40
|
|
|
41
|
-
show_help() {
|
|
42
|
-
if [ "$LANGUAGE" = "en" ]; then
|
|
43
|
-
echo "Install systemd service for Entity Server"
|
|
44
|
-
echo "========================================"
|
|
45
|
-
echo ""
|
|
46
|
-
echo "Usage: $0 [options]"
|
|
47
|
-
echo ""
|
|
48
|
-
echo "Options:"
|
|
49
|
-
echo " --user=<user> Service run user (default: project owner)"
|
|
50
|
-
echo " --group=<group> Service run group (default: user's primary group)"
|
|
51
|
-
echo " --no-start Enable only, do not start immediately"
|
|
52
|
-
echo ""
|
|
53
|
-
echo "Service name is auto-generated as '<namespace>-entity-server'."
|
|
54
|
-
echo "Run without arguments to enter interactive mode."
|
|
55
|
-
else
|
|
56
|
-
echo "Entity Server systemd 서비스 등록"
|
|
57
|
-
echo "==============================="
|
|
58
|
-
echo ""
|
|
59
|
-
echo "사용법: $0 [옵션]"
|
|
60
|
-
echo ""
|
|
61
|
-
echo "옵션:"
|
|
62
|
-
echo " --user=<사용자> 실행 사용자 (기본값: 프로젝트 소유자)"
|
|
63
|
-
echo " --group=<그룹> 실행 그룹 (기본값: 사용자 기본 그룹)"
|
|
64
|
-
echo " --no-start enable만 수행, 즉시 start 하지 않음"
|
|
65
|
-
echo ""
|
|
66
|
-
echo "서비스명은 '<namespace>-entity-server' 형식으로 자동 생성됩니다."
|
|
67
|
-
echo "인수 없이 실행하면 인터랙티브 모드로 진입합니다."
|
|
68
|
-
fi
|
|
69
|
-
}
|
|
70
|
-
|
|
71
41
|
if [ $# -eq 0 ]; then
|
|
72
42
|
INTERACTIVE=true
|
|
73
43
|
fi
|
|
@@ -223,4 +193,4 @@ else
|
|
|
223
193
|
echo " 시작: sudo systemctl start $SERVICE_NAME"
|
|
224
194
|
echo " 중지: sudo systemctl stop $SERVICE_NAME"
|
|
225
195
|
echo " 상태: sudo systemctl status $SERVICE_NAME"
|
|
226
|
-
fi
|
|
196
|
+
fi
|
|
@@ -32,26 +32,6 @@ load_namespace() {
|
|
|
32
32
|
|
|
33
33
|
load_namespace
|
|
34
34
|
|
|
35
|
-
show_help() {
|
|
36
|
-
if [ "$LANGUAGE" = "en" ]; then
|
|
37
|
-
echo "Remove systemd service for Entity Server"
|
|
38
|
-
echo "======================================="
|
|
39
|
-
echo ""
|
|
40
|
-
echo "Usage: $0 [options]"
|
|
41
|
-
echo ""
|
|
42
|
-
echo "Service name is auto-generated as '<namespace>-entity-server'."
|
|
43
|
-
echo "Run without arguments to enter interactive mode."
|
|
44
|
-
else
|
|
45
|
-
echo "Entity Server systemd 서비스 제거"
|
|
46
|
-
echo "==============================="
|
|
47
|
-
echo ""
|
|
48
|
-
echo "사용법: $0"
|
|
49
|
-
echo ""
|
|
50
|
-
echo "서비스명은 '<namespace>-entity-server' 형식으로 자동 생성됩니다."
|
|
51
|
-
echo "인수 없이 실행하면 인터랙티브 모드로 진입합니다."
|
|
52
|
-
fi
|
|
53
|
-
}
|
|
54
|
-
|
|
55
35
|
if [ $# -eq 0 ]; then
|
|
56
36
|
INTERACTIVE=true
|
|
57
37
|
fi
|
|
@@ -123,13 +103,13 @@ if [ ! -f "$UNIT_PATH" ] && [ "$SERVICE_EXISTS" = false ]; then
|
|
|
123
103
|
echo " Nothing to remove."
|
|
124
104
|
echo ""
|
|
125
105
|
echo " To register the service, run:"
|
|
126
|
-
echo " sudo $(dirname "$0")/install
|
|
106
|
+
echo " sudo $(dirname "$0")/service-install.sh"
|
|
127
107
|
else
|
|
128
108
|
echo "ℹ️ '$SERVICE_NAME' 서비스가 등록되어 있지 않습니다."
|
|
129
109
|
echo " 제거할 항목이 없습니다."
|
|
130
110
|
echo ""
|
|
131
111
|
echo " 서비스를 등록하려면:"
|
|
132
|
-
echo " sudo $(dirname "$0")/install
|
|
112
|
+
echo " sudo $(dirname "$0")/service-install.sh"
|
|
133
113
|
fi
|
|
134
114
|
exit 0
|
|
135
115
|
fi
|
|
@@ -149,10 +129,10 @@ if [ "$LANGUAGE" = "en" ]; then
|
|
|
149
129
|
echo "✅ Service removed: $SERVICE_NAME"
|
|
150
130
|
echo ""
|
|
151
131
|
echo " To re-register the service, run:"
|
|
152
|
-
echo " sudo $(dirname "$0")/install
|
|
132
|
+
echo " sudo $(dirname "$0")/service-install.sh"
|
|
153
133
|
else
|
|
154
134
|
echo "✅ 서비스 제거 완료: $SERVICE_NAME"
|
|
155
135
|
echo ""
|
|
156
136
|
echo " 서비스를 다시 등록하려면:"
|
|
157
|
-
echo " sudo $(dirname "$0")/install
|
|
158
|
-
fi
|
|
137
|
+
echo " sudo $(dirname "$0")/service-install.sh"
|
|
138
|
+
fi
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
# update-server.ps1 — entity-server / entity-cli 바이너리 및 파일 업데이트
|
|
2
2
|
#
|
|
3
3
|
# 사용법:
|
|
4
|
-
# .\scripts\update-server.ps1 # 도움말
|
|
5
|
-
# .\scripts\update-server.ps1 version # 현재 버전 + 최신 버전 확인
|
|
4
|
+
# .\scripts\update-server.ps1 # 도움말 + 현재 버전 + 최신 버전 확인
|
|
6
5
|
# .\scripts\update-server.ps1 latest # 최신 버전으로 업데이트
|
|
7
6
|
# .\scripts\update-server.ps1 1.5.0 # 특정 버전으로 업데이트
|
|
8
7
|
#
|
|
@@ -106,6 +105,21 @@ function Get-LatestVer {
|
|
|
106
105
|
}
|
|
107
106
|
}
|
|
108
107
|
|
|
108
|
+
function Show-VersionStatus {
|
|
109
|
+
Write-Host "🔍 버전 확인 중..."
|
|
110
|
+
$Current = Get-CurrentVer
|
|
111
|
+
$Latest = Get-LatestVer
|
|
112
|
+
Write-Host ""
|
|
113
|
+
Write-Host " 현재 버전: v$Current"
|
|
114
|
+
Write-Host " 최신 버전: v$Latest"
|
|
115
|
+
Write-Host ""
|
|
116
|
+
if ($Current -eq $Latest) {
|
|
117
|
+
Write-Host "✅ 최신 버전입니다."
|
|
118
|
+
} else {
|
|
119
|
+
Write-Host "💡 업데이트 가능: .\scripts\update-server.ps1 latest"
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
109
123
|
# ── 설치 ──────────────────────────────────────────────────────────────────────
|
|
110
124
|
|
|
111
125
|
function Install-Version([string]$TargetVer) {
|
|
@@ -234,7 +248,6 @@ switch ($Action) {
|
|
|
234
248
|
Write-Host "update-server.ps1 — entity-server / entity-cli 바이너리 및 파일 업데이트"
|
|
235
249
|
Write-Host ""
|
|
236
250
|
Write-Host "사용법:"
|
|
237
|
-
Write-Host " .\scripts\update-server.ps1 version 현재 버전 + 최신 버전 확인"
|
|
238
251
|
Write-Host " .\scripts\update-server.ps1 latest 최신 버전으로 업데이트"
|
|
239
252
|
Write-Host " .\scripts\update-server.ps1 <버전> 특정 버전으로 업데이트"
|
|
240
253
|
Write-Host ""
|
|
@@ -244,23 +257,10 @@ switch ($Action) {
|
|
|
244
257
|
Write-Host " 제외 configs/ entities/ docs/ (local 설정 보존)"
|
|
245
258
|
Write-Host ""
|
|
246
259
|
Write-Host "예시:"
|
|
247
|
-
Write-Host " .\scripts\update-server.ps1 version"
|
|
248
260
|
Write-Host " .\scripts\update-server.ps1 latest"
|
|
249
261
|
Write-Host " .\scripts\update-server.ps1 1.5.0"
|
|
250
|
-
}
|
|
251
|
-
"version" {
|
|
252
|
-
Write-Host "🔍 버전 확인 중..."
|
|
253
|
-
$Current = Get-CurrentVer
|
|
254
|
-
$Latest = Get-LatestVer
|
|
255
|
-
Write-Host ""
|
|
256
|
-
Write-Host " 현재 버전: v$Current"
|
|
257
|
-
Write-Host " 최신 버전: v$Latest"
|
|
258
262
|
Write-Host ""
|
|
259
|
-
|
|
260
|
-
Write-Host "✅ 최신 버전입니다."
|
|
261
|
-
} else {
|
|
262
|
-
Write-Host "💡 업데이트 가능: .\scripts\update-server.ps1 latest"
|
|
263
|
-
}
|
|
263
|
+
Show-VersionStatus
|
|
264
264
|
}
|
|
265
265
|
"latest" {
|
|
266
266
|
Write-Host "🔍 최신 버전 확인 중..."
|
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
# update-server.sh — entity-server / entity-cli 바이너리 및 파일 업데이트
|
|
3
3
|
#
|
|
4
4
|
# 사용법:
|
|
5
|
-
# ./scripts/update-server.sh # 도움말
|
|
6
|
-
# ./scripts/update-server.sh version # 현재 버전 + 최신 버전 확인
|
|
5
|
+
# ./scripts/update-server.sh # 도움말 + 현재 버전 + 최신 버전 확인
|
|
7
6
|
# ./scripts/update-server.sh latest # 최신 버전으로 업데이트
|
|
8
7
|
# ./scripts/update-server.sh 1.5.0 # 특정 버전으로 업데이트
|
|
9
8
|
#
|
|
@@ -140,6 +139,24 @@ _latest_ver() {
|
|
|
140
139
|
echo "$ver"
|
|
141
140
|
}
|
|
142
141
|
|
|
142
|
+
_print_version_status() {
|
|
143
|
+
local current latest
|
|
144
|
+
|
|
145
|
+
echo "🔍 버전 확인 중..."
|
|
146
|
+
current="$(_current_ver)"
|
|
147
|
+
latest="$(_latest_ver)"
|
|
148
|
+
|
|
149
|
+
echo ""
|
|
150
|
+
echo " 현재 버전: v${current}"
|
|
151
|
+
echo " 최신 버전: v${latest}"
|
|
152
|
+
echo ""
|
|
153
|
+
if [ "$current" = "$latest" ]; then
|
|
154
|
+
echo "✅ 최신 버전입니다."
|
|
155
|
+
else
|
|
156
|
+
echo "💡 업데이트 가능: ./scripts/update-server.sh latest"
|
|
157
|
+
fi
|
|
158
|
+
}
|
|
159
|
+
|
|
143
160
|
# ── 다운로드 ──────────────────────────────────────────────────────────────────
|
|
144
161
|
|
|
145
162
|
_download() {
|
|
@@ -160,6 +177,23 @@ _download() {
|
|
|
160
177
|
chmod +x "$dest"
|
|
161
178
|
}
|
|
162
179
|
|
|
180
|
+
_download_plain() {
|
|
181
|
+
local url="$1"
|
|
182
|
+
local dest="$2"
|
|
183
|
+
local tmp="${dest}.tmp"
|
|
184
|
+
|
|
185
|
+
if command -v curl >/dev/null 2>&1; then
|
|
186
|
+
curl -fsSL --retry 3 -o "$tmp" "$url"
|
|
187
|
+
elif command -v wget >/dev/null 2>&1; then
|
|
188
|
+
wget -q -O "$tmp" "$url"
|
|
189
|
+
else
|
|
190
|
+
echo "❌ curl 또는 wget 이 필요합니다."
|
|
191
|
+
exit 1
|
|
192
|
+
fi
|
|
193
|
+
|
|
194
|
+
mv "$tmp" "$dest"
|
|
195
|
+
}
|
|
196
|
+
|
|
163
197
|
_install() {
|
|
164
198
|
local target_ver="${1#v}" # v 접두사 제거
|
|
165
199
|
local current_ver
|
|
@@ -203,17 +237,26 @@ _install_dist() {
|
|
|
203
237
|
local target_ver="$1"
|
|
204
238
|
local file="dist.tar.gz"
|
|
205
239
|
local url="https://github.com/${REPO}/releases/download/v${target_ver}/${file}"
|
|
240
|
+
local fallback_url="https://github.com/${REPO}/archive/refs/tags/v${target_ver}.tar.gz"
|
|
206
241
|
local tmp_tar="/tmp/entity-server-dist-${target_ver}.tar.gz"
|
|
207
242
|
local tmp_dir="/tmp/entity-server-dist-${target_ver}"
|
|
243
|
+
local downloaded_from="release asset"
|
|
208
244
|
|
|
209
245
|
printf " ↓ %-32s" "$file"
|
|
210
246
|
if ! _download "$url" "$tmp_tar" 2>/dev/null; then
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
247
|
+
if _download_plain "$fallback_url" "$tmp_tar" 2>/dev/null; then
|
|
248
|
+
downloaded_from="repository tag archive"
|
|
249
|
+
echo "✓ (fallback)"
|
|
250
|
+
else
|
|
251
|
+
echo "✗ 실패 (업데이트 스킵)"
|
|
252
|
+
echo " release asset: $url"
|
|
253
|
+
echo " fallback tag archive: $fallback_url"
|
|
254
|
+
echo " ⚠️ dist 패키지를 가져오지 못했습니다. 바이너리만 업데이트됨."
|
|
255
|
+
return 0
|
|
256
|
+
fi
|
|
257
|
+
else
|
|
258
|
+
echo "✓"
|
|
215
259
|
fi
|
|
216
|
-
echo "✓"
|
|
217
260
|
|
|
218
261
|
rm -rf "$tmp_dir"
|
|
219
262
|
mkdir -p "$tmp_dir"
|
|
@@ -238,6 +281,7 @@ _install_dist() {
|
|
|
238
281
|
fi
|
|
239
282
|
|
|
240
283
|
echo ""
|
|
284
|
+
echo " dist 소스: $downloaded_from"
|
|
241
285
|
echo " 파일 동기화 (configs/ entities/ 제외):"
|
|
242
286
|
for DIR in "${DIST_DIRS[@]}"; do
|
|
243
287
|
local src="${src_root}/${DIR}"
|
|
@@ -263,7 +307,6 @@ case "$ARG" in
|
|
|
263
307
|
echo "update-server.sh — entity-server / entity-cli 바이너리 및 파일 업데이트"
|
|
264
308
|
echo ""
|
|
265
309
|
echo "사용법:"
|
|
266
|
-
echo " ./scripts/update-server.sh version 현재 버전 + 최신 버전 확인"
|
|
267
310
|
echo " ./scripts/update-server.sh latest 최신 버전으로 업데이트"
|
|
268
311
|
echo " ./scripts/update-server.sh <버전> 특정 버전으로 업데이트"
|
|
269
312
|
echo ""
|
|
@@ -273,24 +316,10 @@ case "$ARG" in
|
|
|
273
316
|
echo " 제외 configs/ entities/ docs/ (local 설정 보존)"
|
|
274
317
|
echo ""
|
|
275
318
|
echo "예시:"
|
|
276
|
-
echo " ./scripts/update-server.sh version"
|
|
277
319
|
echo " ./scripts/update-server.sh latest"
|
|
278
320
|
echo " ./scripts/update-server.sh 1.5.0"
|
|
279
|
-
;;
|
|
280
|
-
|
|
281
|
-
"version")
|
|
282
|
-
echo "🔍 버전 확인 중..."
|
|
283
|
-
CURRENT="$(_current_ver)"
|
|
284
|
-
LATEST="$(_latest_ver)"
|
|
285
|
-
echo ""
|
|
286
|
-
echo " 현재 버전: v${CURRENT}"
|
|
287
|
-
echo " 최신 버전: v${LATEST}"
|
|
288
321
|
echo ""
|
|
289
|
-
|
|
290
|
-
echo "✅ 최신 버전입니다."
|
|
291
|
-
else
|
|
292
|
-
echo "💡 업데이트 가능: ./scripts/update-server.sh latest"
|
|
293
|
-
fi
|
|
322
|
+
_print_version_status
|
|
294
323
|
;;
|
|
295
324
|
|
|
296
325
|
"latest")
|