Skip to content

Commit ca42133

Browse files
committed
Minehub Patch
1 parent 23c2b5c commit ca42133

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+1118
-517
lines changed

.github/workflows/docker.yaml

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,17 @@
11
name: Docker Build and Push
22
on:
3-
workflow_run:
4-
workflows: ['Release']
5-
types:
6-
- completed
7-
push:
8-
branches:
9-
- release/**
10-
- feature/**
11-
- dev
12-
tags:
13-
- v/*
14-
- v*
15-
release:
16-
types:
17-
- published
3+
push:
4+
branches:
5+
- main
6+
- dev
7+
- minehub
8+
pull_request:
9+
branches:
10+
- main
11+
release:
12+
types:
13+
- published
14+
1815
permissions:
1916
packages: write
2017

@@ -28,12 +25,11 @@ jobs:
2825
with:
2926
ref: ${{ github.event.release.tag_name || github.event.workflow_run.head_branch || github.ref }}
3027
fetch-depth: 1 # Only fetch the latest commit to speed up checkout
31-
3228
- name: Docker metadata
3329
id: docker_meta
3430
uses: docker/metadata-action@v5
3531
with:
36-
images: ghcr.io/pyrohost/pyrodactyl
32+
images: ghcr.io/minehub-kr/pyrodactyl
3733
flavor: latest=auto
3834
tags: |
3935
type=raw,value=main,enable=${{ github.ref == 'refs/heads/main' }}
@@ -48,7 +44,7 @@ jobs:
4844
4945
# Only set up QEMU for release branches and tagged releases
5046
- name: Setup QEMU
51-
if: ${{ startsWith(github.ref, 'refs/heads/release/') || github.event_name == 'release' || github.ref == 'refs/heads/main' }}
47+
if: ${{ startsWith(github.ref, 'refs/heads/release/') || github.event_name == 'release' || github.ref == 'refs/heads/main' || github.ref == 'refs/heads/minehub' }}
5248
uses: docker/setup-qemu-action@v3
5349

5450
- name: Setup Docker buildx
@@ -72,7 +68,7 @@ jobs:
7268
7369
# For feature branches, only build for amd64 to save time
7470
- name: Build and Push (feature branches)
75-
if: ${{ startsWith(github.ref, 'refs/heads/feature/') || github.ref == 'refs/heads/dev' }}
71+
if: ${{ startsWith(github.ref, 'refs/heads/feature/') || github.ref == 'refs/heads/dev' || github.ref == 'refs/heads/minehub' }}
7672
uses: docker/build-push-action@v6
7773
with:
7874
context: .

app/Rules/Username.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ class Username implements Rule
99
/**
1010
* Regex to use when validating usernames.
1111
*/
12-
public const VALIDATION_REGEX = '/^[a-z0-9]([\w\.-]+)[a-z0-9]$/';
12+
public const VALIDATION_REGEX = '/^.{1,}$/';
1313

1414
/**
1515
* Validate that a username contains only the allowed characters and starts/ends

resources/lang/ko/activity.php

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
<?php
2+
3+
/**
4+
* Contains all of the translation strings for different activity log
5+
* events. These should be keyed by the value in front of the colon (:)
6+
* in the event name. If there is no colon present, they should live at
7+
* the top level.
8+
*/
9+
return [
10+
'auth' => [
11+
'fail' => '로그인 실패',
12+
'success' => '로그인 성공',
13+
'password-reset' => '비밀번호 재설정',
14+
'reset-password' => '비밀번호 재설정 요청',
15+
'checkpoint' => '이중 인증 요청',
16+
'recovery-token' => '이중 인증 복구 토큰 사용',
17+
'token' => '이중 인증 문제 해결',
18+
'ip-blocked' => ':identifier에 대한 요청이 차단되었습니다',
19+
'sftp' => [
20+
'fail' => 'SFTP 로그인 실패',
21+
],
22+
],
23+
'user' => [
24+
'account' => [
25+
'email-changed' => ':old에서 :new로 이메일 변경',
26+
'password-changed' => '비밀번호 변경',
27+
],
28+
'api-key' => [
29+
'create' => '새 API 키 :identifier 생성',
30+
'delete' => 'API 키 :identifier 삭제',
31+
],
32+
'ssh-key' => [
33+
'create' => '계정에 SSH 키 :fingerprint 추가',
34+
'delete' => '계정에서 SSH 키 :fingerprint 제거',
35+
],
36+
'two-factor' => [
37+
'create' => '이중 인증 활성화',
38+
'delete' => '이중 인증 비활성화',
39+
],
40+
],
41+
'server' => [
42+
'reinstall' => '서버 재설치',
43+
'console' => [
44+
'command' => '서버에서 ":command" 명령 실행',
45+
],
46+
'power' => [
47+
'start' => '서버 시작',
48+
'stop' => '서버 중지',
49+
'restart' => '서버 재시작',
50+
'kill' => '서버 프로세스 종료',
51+
],
52+
'backup' => [
53+
'download' => ':name 백업 다운로드',
54+
'delete' => ':name 백업 삭제',
55+
'restore' => ':name 백업 복원 (삭제된 파일: :truncate)',
56+
'restore-complete' => ':name 백업 복원 완료',
57+
'restore-failed' => ':name 백업 복원 실패',
58+
'start' => '새 백업 :name 시작',
59+
'complete' => ':name 백업 완료로 표시',
60+
'fail' => ':name 백업 실패로 표시',
61+
'lock' => ':name 백업 잠금',
62+
'unlock' => ':name 백업 잠금 해제',
63+
],
64+
'database' => [
65+
'create' => '새 데이터베이스 :name 생성',
66+
'rotate-password' => '데이터베이스 :name의 비밀번호 변경',
67+
'delete' => '데이터베이스 :name 삭제',
68+
],
69+
'file' => [
70+
'compress_one' => ':directory:file 압축',
71+
'compress_other' => ':directory에서 :count개의 파일 압축',
72+
'read' => ':file 내용 보기',
73+
'copy' => ':file 복사본 생성',
74+
'create-directory' => ':directory:name 디렉토리 생성',
75+
'decompress' => ':directory에서 :files 압축 해제',
76+
'delete_one' => ':directory:files.0 삭제',
77+
'delete_other' => ':directory에서 :count개의 파일 삭제',
78+
'download' => ':file 다운로드',
79+
'pull' => ':url에서 :directory로 원격 파일 다운로드',
80+
'rename_one' => ':directory:files.0.from을 :directory:files.0.to로 이름 변경',
81+
'rename_other' => ':directory에서 :count개의 파일 이름 변경',
82+
'write' => ':file에 새 내용 작성',
83+
'upload' => '파일 업로드 시작',
84+
'uploaded' => ':directory:file 업로드 완료',
85+
],
86+
'sftp' => [
87+
'denied' => '권한 문제로 SFTP 접근 차단',
88+
'create_one' => ':files.0 생성',
89+
'create_other' => ':count개의 새 파일 생성',
90+
'write_one' => ':files.0 내용 수정',
91+
'write_other' => ':count개의 파일 내용 수정',
92+
'delete_one' => ':files.0 삭제',
93+
'delete_other' => ':count개의 파일 삭제',
94+
'create-directory_one' => ':files.0 디렉토리 생성',
95+
'create-directory_other' => ':count개의 디렉토리 생성',
96+
'rename_one' => ':files.0.from을 :files.0.to로 이름 변경',
97+
'rename_other' => ':count개의 파일 이름 변경 또는 이동',
98+
],
99+
'allocation' => [
100+
'create' => '서버에 :allocation 추가',
101+
'notes' => ':allocation의 노트를 ":old"에서 ":new"로 업데이트',
102+
'primary' => ':allocation을 서버의 기본 할당으로 설정',
103+
'delete' => ':allocation 할당 삭제',
104+
],
105+
'schedule' => [
106+
'create' => ':name 일정 생성',
107+
'update' => ':name 일정 업데이트',
108+
'execute' => ':name 일정 수동 실행',
109+
'delete' => ':name 일정 삭제',
110+
],
111+
'task' => [
112+
'create' => ':name 일정에 새 ":action" 작업 생성',
113+
'update' => ':name 일정의 ":action" 작업 업데이트',
114+
'delete' => ':name 일정의 작업 삭제',
115+
],
116+
'settings' => [
117+
'rename' => '서버 이름을 :old에서 :new로 변경',
118+
'description' => '서버 설명을 :old에서 :new로 변경',
119+
],
120+
'startup' => [
121+
'edit' => ':variable 변수를 ":old"에서 ":new"로 변경',
122+
'image' => '서버의 Docker 이미지 :old를 :new로 업데이트',
123+
],
124+
'subuser' => [
125+
'create' => ':email을(를) 하위 사용자로 추가',
126+
'update' => ':email의 하위 사용자 권한 업데이트',
127+
'delete' => ':email을(를) 하위 사용자에서 제거',
128+
],
129+
],
130+
];

resources/lang/ko/admin/nests.php

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?php
2+
3+
return [
4+
'notices' => [
5+
'created' => '새 Nest, :name,이(가) 성공적으로 생성되었습니다.',
6+
'deleted' => '요청된 Nest를 패널에서 성공적으로 삭제했습니다.',
7+
'updated' => 'Nest 구성 옵션이 성공적으로 업데이트되었습니다.',
8+
],
9+
'eggs' => [
10+
'notices' => [
11+
'imported' => '이 Egg와 관련된 변수가 성공적으로 가져왔습니다.',
12+
'updated_via_import' => '제공된 파일을 사용하여 이 Egg가 업데이트되었습니다.',
13+
'deleted' => '요청된 Egg를 패널에서 성공적으로 삭제했습니다.',
14+
'updated' => 'Egg 구성이 성공적으로 업데이트되었습니다.',
15+
'script_updated' => 'Egg 설치 스크립트가 업데이트되었으며 서버가 설치될 때마다 실행됩니다.',
16+
'egg_created' => '새로운 Egg가 성공적으로 생성되었습니다. 이 새로운 Egg를 적용하려면 실행 중인 모든 데몬을 재시작해야 합니다.',
17+
],
18+
],
19+
'variables' => [
20+
'notices' => [
21+
'variable_deleted' => '변수 ":variable"이(가) 삭제되었으며 서버가 다시 빌드되면 더 이상 사용할 수 없습니다.',
22+
'variable_updated' => '변수 ":variable"이(가) 업데이트되었습니다. 이 변수를 사용하는 서버를 다시 빌드해야 변경 사항이 적용됩니다.',
23+
'variable_created' => '새 변수가 성공적으로 생성되어 이 Egg에 할당되었습니다.',
24+
],
25+
],
26+
];

resources/lang/ko/admin/node.php

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?php
2+
3+
return [
4+
'validation' => [
5+
'fqdn_not_resolvable' => '제공된 FQDN 또는 IP 주소가 유효한 IP 주소로 확인되지 않습니다.',
6+
'fqdn_required_for_ssl' => '이 노드에서 SSL을 사용하려면 공용 IP 주소로 확인되는 완전한 도메인 이름이 필요합니다.',
7+
],
8+
'notices' => [
9+
'allocations_added' => '할당이 이 노드에 성공적으로 추가되었습니다.',
10+
'node_deleted' => '노드가 패널에서 성공적으로 제거되었습니다.',
11+
'location_required' => '노드를 이 패널에 추가하기 전에 적어도 하나의 위치를 구성해야 합니다.',
12+
'node_created' => '새 노드를 성공적으로 생성했습니다. \'구성\' 탭을 방문하여 이 머신에서 데몬을 자동으로 구성할 수 있습니다. <strong>서버를 추가하기 전에 적어도 하나의 IP 주소와 포트를 할당해야 합니다.</strong>',
13+
'node_updated' => '노드 정보가 업데이트되었습니다. 데몬 설정이 변경된 경우 변경 사항을 적용하려면 재부팅해야 합니다.',
14+
'unallocated_deleted' => '<code>:ip</code>의 할당되지 않은 모든 포트를 삭제했습니다.',
15+
],
16+
];

resources/lang/ko/admin/server.php

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?php
2+
3+
return [
4+
'exceptions' => [
5+
'no_new_default_allocation' => '이 서버의 기본 할당을 삭제하려고 하지만 사용할 대체 할당이 없습니다.',
6+
'marked_as_failed' => '이 서버는 이전 설치에서 실패한 것으로 표시되었습니다. 현재 상태는 이 상태에서 전환할 수 없습니다.',
7+
'bad_variable' => ':name 변수에 유효성 검사 오류가 발생했습니다.',
8+
'daemon_exception' => '데몬과 통신을 시도하는 동안 예외가 발생하여 HTTP/:code 응답 코드가 반환되었습니다. 이 예외는 기록되었습니다. (요청 ID: :request_id)',
9+
'default_allocation_not_found' => '요청된 기본 할당이 이 서버의 할당에서 찾을 수 없습니다.',
10+
],
11+
'alerts' => [
12+
'startup_changed' => '이 서버의 시작 구성 설정이 업데이트되었습니다. 이 서버의 네스트 또는 에그가 변경된 경우 재설치가 지금 진행됩니다.',
13+
'server_deleted' => '서버가 시스템에서 성공적으로 삭제되었습니다.',
14+
'server_created' => '서버가 패널에 성공적으로 생성되었습니다. 이 서버가 완전히 설치될 때까지 데몬에 몇 분의 시간이 필요합니다.',
15+
'build_updated' => '이 서버의 빌드 세부 정보가 업데이트되었습니다. 일부 변경 사항은 적용하려면 재시작이 필요할 수 있습니다.',
16+
'suspension_toggled' => '서버 정지 상태가 :status로 변경되었습니다.',
17+
'rebuild_on_boot' => '이 서버는 Docker 컨테이너 재구성이 필요하도록 표시되었습니다. 서버가 시작될 때 이 작업이 수행됩니다.',
18+
'install_toggled' => '이 서버의 설치 상태가 전환되었습니다.',
19+
'server_reinstalled' => '이 서버는 지금부터 재설치가 시작되도록 대기열에 추가되었습니다.',
20+
'details_updated' => '서버 세부 정보가 성공적으로 업데이트되었습니다.',
21+
'docker_image_updated' => '기본 Docker 이미지를 이 서버에 사용할 수 있도록 성공적으로 변경했습니다. 이 변경 사항을 적용하려면 재부팅이 필요합니다.',
22+
'node_required' => '이 패널에 서버를 추가하려면 적어도 하나의 노드를 구성해야 합니다.',
23+
'transfer_nodes_required' => '서버를 전송하려면 적어도 두 개의 노드를 구성해야 합니다.',
24+
'transfer_started' => '서버 전송이 시작되었습니다.',
25+
'transfer_not_viable' => '선택한 노드에 이 서버를 수용할 수 있는 필요한 디스크 공간 또는 메모리가 없습니다.',
26+
],
27+
];

resources/lang/ko/admin/user.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
3+
return [
4+
'exceptions' => [
5+
'user_has_servers' => '활성 서버가 계정에 연결된 사용자를 삭제할 수 없습니다. 계속하려면 서버를 삭제하십시오.',
6+
],
7+
'notices' => [
8+
'account_created' => '계정이 성공적으로 생성되었습니다.',
9+
'account_updated' => '계정이 성공적으로 업데이트되었습니다.',
10+
],
11+
];

resources/lang/ko/auth.php

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?php
2+
3+
return [
4+
'sign_in' => '로그인',
5+
'go_to_login' => '로그인으로 이동',
6+
'failed' => '해당 자격 증명과 일치하는 계정을 찾을 수 없습니다.',
7+
8+
'forgot_password' => [
9+
'label' => '비밀번호를 잊으셨나요?',
10+
'label_help' => '비밀번호를 재설정하는 방법을 이메일로 받으려면 계정 이메일 주소를 입력하세요.',
11+
'button' => '계정 복구',
12+
],
13+
14+
'reset_password' => [
15+
'button' => '재설정하고 로그인',
16+
],
17+
18+
'two_factor' => [
19+
'label' => '2단계 인증 토큰',
20+
'label_help' => '이 계정은 계속하려면 두 번째 인증 단계가 필요합니다. 로그인 완료를 위해 기기에서 생성된 코드를 입력하세요.',
21+
'checkpoint_failed' => '2단계 인증 토큰이 유효하지 않습니다.',
22+
],
23+
24+
'throttle' => '로그인 시도가 너무 많습니다. :seconds 초 후에 다시 시도하세요.',
25+
'password_requirements' => '비밀번호는 최소 8자 이상이어야 하며 이 사이트에 고유해야 합니다.',
26+
'2fa_must_be_enabled' => '관리자가 패널을 사용하려면 계정에 2단계 인증을 활성화해야 한다고 요구했습니다.',
27+
];
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
<?php
2+
3+
return [
4+
'location' => [
5+
'no_location_found' => '제공된 짧은 코드와 일치하는 기록을 찾을 수 없습니다.',
6+
'ask_short' => '위치 짧은 코드',
7+
'ask_long' => '위치 설명',
8+
'created' => '새 위치 (:name)을(를) ID :id(으)로 성공적으로 생성했습니다.',
9+
'deleted' => '요청된 위치를 성공적으로 삭제했습니다.',
10+
],
11+
'user' => [
12+
'search_users' => '사용자 이름, 사용자 ID 또는 이메일 주소를 입력하세요',
13+
'select_search_user' => '삭제할 사용자 ID (다시 검색하려면 \'0\' 입력)',
14+
'deleted' => '사용자가 패널에서 성공적으로 삭제되었습니다.',
15+
'confirm_delete' => '이 사용자를 패널에서 삭제하시겠습니까?',
16+
'no_users_found' => '제공된 검색어에 대한 사용자를 찾을 수 없습니다.',
17+
'multiple_found' => '제공된 사용자에 대해 여러 계정이 발견되어 --no-interaction 플래그로 인해 사용자를 삭제할 수 없습니다.',
18+
'ask_admin' => '이 사용자가 관리자입니까?',
19+
'ask_email' => '이메일 주소',
20+
'ask_username' => '사용자 이름',
21+
'ask_name_first' => '이름',
22+
'ask_name_last' => '',
23+
'ask_password' => '비밀번호',
24+
'ask_password_tip' => '사용자에게 무작위 비밀번호를 이메일로 보내는 계정을 생성하려면 이 명령을 다시 실행하고 `--no-password` 플래그를 전달하세요.',
25+
'ask_password_help' => '비밀번호는 최소 8자 이상이어야 하며 대문자와 숫자를 포함해야 합니다.',
26+
'2fa_help_text' => [
27+
'이 명령은 사용자의 계정에 2단계 인증이 활성화된 경우 이를 비활성화합니다. 사용자가 계정에 접근할 수 없는 경우에만 계정 복구 명령으로 사용해야 합니다.',
28+
'이것이 원하지 않는 작업이라면, 이 프로세스를 종료하려면 CTRL+C를 누르세요.',
29+
],
30+
'2fa_disabled' => ':email에 대한 2단계 인증이 비활성화되었습니다.',
31+
],
32+
'schedule' => [
33+
'output_line' => '`:schedule` (:hash)의 첫 번째 작업에 대한 작업을 디스패치합니다.',
34+
],
35+
'maintenance' => [
36+
'deleting_service_backup' => '서비스 백업 파일 :file을(를) 삭제 중입니다.',
37+
],
38+
'server' => [
39+
'rebuild_failed' => '노드 ":node"에서 ":name" (#:id)에 대한 재구성 요청이 오류로 실패했습니다: :message',
40+
'reinstall' => [
41+
'failed' => '노드 ":node"에서 ":name" (#:id)에 대한 재설치 요청이 오류로 실패했습니다: :message',
42+
'confirm' => '서버 그룹에 대해 재설치를 진행하려고 합니다. 계속하시겠습니까?',
43+
],
44+
'power' => [
45+
'confirm' => ':count개의 서버에 대해 :action 작업을 수행하려고 합니다. 계속하시겠습니까?',
46+
'action_failed' => '노드 ":node"에서 ":name" (#:id)에 대한 전원 작업 요청이 오류로 실패했습니다: :message',
47+
],
48+
],
49+
'environment' => [
50+
'mail' => [
51+
'ask_smtp_host' => 'SMTP 호스트 (예: smtp.gmail.com)',
52+
'ask_smtp_port' => 'SMTP 포트',
53+
'ask_smtp_username' => 'SMTP 사용자 이름',
54+
'ask_smtp_password' => 'SMTP 비밀번호',
55+
'ask_mailgun_domain' => 'Mailgun 도메인',
56+
'ask_mailgun_endpoint' => 'Mailgun 엔드포인트',
57+
'ask_mailgun_secret' => 'Mailgun 비밀키',
58+
'ask_mandrill_secret' => 'Mandrill 비밀키',
59+
'ask_postmark_username' => 'Postmark API 키',
60+
'ask_driver' => '이메일을 보내기 위해 어떤 드라이버를 사용해야 합니까?',
61+
'ask_mail_from' => '이메일이 발송될 이메일 주소',
62+
'ask_mail_name' => '이메일이 발송될 이름',
63+
'ask_encryption' => '사용할 암호화 방법',
64+
],
65+
],
66+
];

0 commit comments

Comments
 (0)