docs: KR update and overhaul entire documentation (#13550)
* docs: manual * docs: protocol * docs: develop * chore: fix typo * chore: fix more typo * docs: readme readme image * chore: Auto update by pre-commit hooks [skip changelog] * fix: corrected file name --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
BIN
docs/.vuepress/public/images/ko-kr/readme/1-dark.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 28 KiB |
BIN
docs/.vuepress/public/images/ko-kr/readme/2-dark.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 25 KiB |
BIN
docs/.vuepress/public/images/ko-kr/readme/3-dark.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
docs/.vuepress/public/images/ko-kr/readme/3-light.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
docs/.vuepress/public/images/ko-kr/readme/4-dark.png
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
docs/.vuepress/public/images/ko-kr/readme/4-light.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
135
docs/ko-kr/develop/ci-tutorial.md
Normal file
@@ -0,0 +1,135 @@
|
||||
---
|
||||
order: 7
|
||||
icon: devicon-plain:githubactions
|
||||
---
|
||||
|
||||
# CI 시스템 해석
|
||||
|
||||
MAA는 Github Action을 활용하여 웹사이트 구축, 자동 리소스 업데이트, 최종 파일 빌드 및 릴리즈 등 대량의 자동화 작업을 완성했습니다. 시간이 지나면서 이러한 CI들은 점차 중첩되기 시작했고, 일부는 다른 저장소로 연결되기도 했습니다. 본 문서는 MAA의 CI 시스템을 개선하고자 하는 분들에게 간단한 소개를 제공하는 것을 목표로 합니다.
|
||||
|
||||
본 문서를 읽기 전에 MAA의 프로젝트 구조와 구성에 대한 기본적인 개념을 갖고 있는 것이 좋습니다.
|
||||
|
||||
::: tip
|
||||
이 페이지에서 CI 파일명을 검색하여 원하는 부분으로 빠르게 이동할 수 있습니다.
|
||||
:::
|
||||
|
||||
워크플로우 파일들은 모두 `.github/workflows` 하위에 저장되어 있으며, 각 파일은 기능에 따라 다음과 같은 부분으로 나눌 수 있습니다:
|
||||
|
||||
+ [코드 테스트](#코드-테스트)
|
||||
+ [코드 빌드](#코드-빌드)
|
||||
+ [버전 릴리즈](#버전-릴리즈)
|
||||
+ [리소스 업데이트](#리소스-업데이트)
|
||||
+ [웹사이트 구축](#웹사이트-구축)
|
||||
+ [Issues 관리](#issues-관리)
|
||||
+ [Pull Requests 관리](#pull-requests-관리)
|
||||
+ [MirrorChyan 관련](#mirrorchyan-관련)
|
||||
+ [기타](#기타)
|
||||
|
||||
또한 [pre-commit.ci](https://pre-commit.ci/)를 통해 코드의 자동 포맷팅과 이미지 리소스의 자동 최적화를 구현했으며, PR 생성 후 자동으로 실행되므로 특별히 신경 쓸 필요가 없습니다.
|
||||
|
||||
## 코드 테스트
|
||||
|
||||
`smoke-testing.yml`
|
||||
|
||||
이 워크플로우는 주로 MaaCore에 대한 기본적인 검사를 담당하며, 리소스 파일 로딩, 일부 간단한 task 실행 테스트 등을 포함합니다.
|
||||
|
||||
테스트 케이스가 오랫동안 업데이트되지 않아서, 현재 이 워크플로우는 기본적으로 리소스 파일에 오류가 없는지, 그리고 MaaCore의 코드에 치명적인 오류(빌드에 영향을 주는 종류)가 없는지 확인하는 역할을 합니다.
|
||||
|
||||
## 코드 빌드
|
||||
|
||||
`ci.yml`
|
||||
|
||||
이 워크플로우는 코드의 전체 빌드 작업을 담당하며, MAA의 모든 구성 요소를 포함합니다. 빌드 결과물은 실행 가능한 MAA입니다.
|
||||
|
||||
필수적인 MaaCore 외에, Windows 빌드 결과물에는 MaaWpfGui가, MacOS 빌드 결과물에는 MaaMacGui가, Linux 빌드 결과물에는 MaaCLI가 포함됩니다.
|
||||
|
||||
이 워크플로우는 새로운 Commit이나 PR이 발생할 때마다 자동으로 실행되며, 릴리즈 PR에 의해 트리거될 때는 이번 빌드 결과물이 직접 릴리즈에 사용되고 Release가 생성됩니다.
|
||||
|
||||
## 버전 릴리즈
|
||||
|
||||
버전 릴리즈, 줄여서 릴리즈는 사용자에게 업데이트를 배포하는 필수 작업으로, 다음 워크플로우들로 구성됩니다:
|
||||
|
||||
+ `release-nightly-ota.yml` 개발 버전 릴리즈
|
||||
+ `release-ota.yml` 정식 버전/공개 베타 버전 릴리즈
|
||||
+ `gen-changelog.yml` 정식 버전/공개 베타 버전용 changelog 생성
|
||||
+ `pr-auto-tag.yml` 정식 버전/공개 베타 버전용 tag 생성
|
||||
|
||||
::: tip
|
||||
위 파일명의 ota는 Over-the-Air를 의미하며, 우리가 흔히 말하는 "증분 업데이트 패키지"입니다. 따라서 MAA의 릴리즈 과정에는 실제로 이전 버전들에 대한 OTA 패키지 빌드 단계가 포함됩니다.
|
||||
:::
|
||||
|
||||
### 개발 버전
|
||||
|
||||
`release-nightly-ota.yml`
|
||||
|
||||
이 워크플로우는 매일 UTC 시간 22시에 자동으로 실행되어 개발 버전의 릴리즈 주기를 보장합니다. 물론 변경사항을 검증해야 할 때 수동으로 릴리즈할 수도 있습니다.
|
||||
|
||||
주의할 점은 개발 버전의 릴리즈는 Windows 사용자만을 대상으로 하며, MacOS와 Linux 사용자는 개발 업데이트를 받을 수 없습니다.
|
||||
|
||||
### 정식 버전/공개 베타 버전
|
||||
|
||||
이 두 채널의 릴리즈 과정은 상대적으로 복잡합니다. 릴리즈 단계를 시뮬레이션하여 각 워크플로우의 역할을 설명하겠습니다:
|
||||
|
||||
1. `dev`에서 `master` 브랜치로의 PR을 생성하며, 해당 PR의 이름은 `Release v******` 형식이어야 합니다
|
||||
2. `gen-changelog.yml`이 최근 정식 버전/공개 베타 버전부터 현재 버전까지의 changelog를 생성합니다(새로운 PR 형태로)
|
||||
3. changelog를 수동으로 조정하고 간단한 설명을 추가합니다
|
||||
4. PR을 병합하면 `pr-auto-tag.yml`이 트리거되어 tag를 생성하고 브랜치를 동기화합니다
|
||||
5. Release 이벤트가 `release-ota.yml`을 트리거하여 master에 tag를 생성한 후 ota 패키지 빌드 및 첨부파일 업로드를 진행합니다
|
||||
|
||||
## 리소스 업데이트
|
||||
|
||||
이 부분의 워크플로우는 주로 MAA의 리소스 업데이트와 최적화를 담당하며, 구체적인 워크플로우는 다음과 같습니다:
|
||||
|
||||
+ `res-update-game.yml` 정기적으로 실행되어 지정된 저장소에서 게임 리소스를 가져옵니다
|
||||
+ `sync-resource.yml` 리소스를 MaaResource 저장소에 동기화하여 리소스 업데이트에 사용합니다
|
||||
+ `optimize-templates.yml` 템플릿 이미지 크기를 최적화합니다
|
||||
|
||||
## 웹사이트 구축
|
||||
|
||||
`website-workflow.yml`
|
||||
|
||||
이 워크플로우는 주로 MAA 공식 웹사이트의 구축과 발행을 담당하며, 메인 페이지와 문서 두 구성 요소를 포함합니다.
|
||||
|
||||
참고로 웹사이트 발행은 릴리즈와 강하게 연결되어 있어서, 평상시 웹페이지 구성 요소를 수정할 때는 오류가 없는지 확인하기 위해 빌드만 진행하고, 릴리즈 시에만 실제로 Azure에 배포됩니다.
|
||||
|
||||
## Issues 관리
|
||||
|
||||
`issue-checker.yml`
|
||||
|
||||
정규 표현식 매칭을 통해 각 Issue에 태그를 달아 Issue 내용을 분류하고 표시하여 조회와 관리를 용이하게 합니다.
|
||||
|
||||
`issue-checkbox-checker.yml`
|
||||
|
||||
정규 표현식 매칭을 통해 "주의 깊게 읽지 않음"을 체크한 Issue를 자동으로 닫습니다.
|
||||
"주의 깊게 읽지 않음"이 체크되지 않은 경우 모든 체크박스를 접습니다.
|
||||
|
||||
`stale.yml`
|
||||
|
||||
90일 이상 활동이 없는 Bug Issue를 검사하여 표시하고 알림을 보내며, 7일 후에도 활동이 없으면 닫습니다.
|
||||
|
||||
## Pull Requests 관리
|
||||
|
||||
`pr-checker.yml`
|
||||
|
||||
이 워크플로우는 PR의 Commit Message가 [관례적 커밋](https://www.conventionalcommits.org/ko/v1.0.0/)을 준수하는지, 그리고 Merge Commit을 포함하는지 검사하며, 위 조건에 해당하면 알림을 제공합니다.
|
||||
|
||||
## MirrorChyan 관련
|
||||
|
||||
MirrorChyan은 유료 업데이트 미러 서비스이며, 관련 워크플로우는 다음과 같습니다:
|
||||
|
||||
+ `mirrorchyan.yml` 업데이트 패키지를 MirrorChyan에 동기화
|
||||
+ `mirrorchyan_release_note.yml` MirrorChyan용 Release Note 생성
|
||||
|
||||
## 기타
|
||||
|
||||
`markdown-checker.yml`
|
||||
|
||||
저장소의 모든 Markdown 파일에 유효하지 않은 링크가 포함되어 있는지 검사합니다.
|
||||
|
||||
`blame-ignore.yml`
|
||||
|
||||
Commit Message에 `blame ignore`가 포함된 커밋을 자동으로 무시하여 저장소 히스토리를 깔끔하게 유지합니다.
|
||||
|
||||
`cache-delete.yml`
|
||||
|
||||
PR 병합 후 관련 캐시를 정리하여 캐시 사용량을 절약합니다.
|
||||
@@ -5,6 +5,10 @@ icon: iconoir:developer
|
||||
|
||||
# 개발 환경 구축
|
||||
|
||||
::: tip
|
||||
본 페이지는 주로 PR 과정 및 MAA의 파일 포맷 요구사항을 설명합니다. MAA의 실행 로직 변경에 대한 구체적인 내용은 [프로토콜 문서](../protocol/)를 참고하세요.
|
||||
:::
|
||||
|
||||
## Github Pull Request 진행 과정
|
||||
|
||||
### 프로그래밍을 잘 모르지만, json 파일과 docs 문서를 수정하고싶어요. 어떻게 해야하나요?
|
||||
@@ -124,6 +128,8 @@ MAA는 리포지토리의 코드 및 리소스 파일들을 아름답고 일관
|
||||
pre-commit install
|
||||
```
|
||||
|
||||
pip 설치 후에도 Pre-commit을 실행할 수 없다면, PIP 설치 경로가 PATH에 추가되었는지 확인하세요.
|
||||
|
||||
이제, 매번 커밋할 때마다 포매팅 도구가 자동으로 실행되어 코드 형식이 규칙에 맞는지 확인합니다.
|
||||
|
||||
## Visual Studio에서 clang-format 사용 설정
|
||||
|
||||
@@ -13,7 +13,7 @@ icon: jam:write-f
|
||||
|
||||
## 로컬 배포
|
||||
|
||||
1. [pnpm](https://pnpm.io/zh/installation)을 설치하고, [Pull Request 가이드](./development.md#github-pull-request-진행-과정)을 참고해, 저장소를 로컬에 클론합니다.
|
||||
1. [pnpm](https://pnpm.io/installation)을 설치하고, [Pull Request 가이드](./development.md#github-pull-request-진행-과정)을 참고해, 저장소를 로컬에 클론합니다.
|
||||
2. `website` 경로에서 새로운 터미널을 열고, `pnpm i` 을 실행하여 의존성 파일을 다운로드합니다.
|
||||
3. `pnpm run dev` 를 실행하여 배포를 시작합니다.
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ Commitizen 규격으로 커밋하지 않는 경우, 병합 요청(Merge Request)
|
||||
Issue Bot은 풀 리퀘스트의 제목을 확인합니다. 아래 키워드로 시작하지 않는 제목은 `ambiguous(애매모호한)`로 표시됩니다.
|
||||
|
||||
- `build`, `chore`, `ci`, `doc`, `docs`, `feat`, `fix`, `perf`, `refactor`, `rfc`, `style`, `test`
|
||||
- `Merge`, `merge`, `Revert`, `revert`
|
||||
- `Merge`, `merge`, `Revert`, `revert`, `Reapply`, `reapply`
|
||||
|
||||
### 수동으로 트리거하기
|
||||
|
||||
|
||||
@@ -11,6 +11,10 @@ icon: teenyicons:linux-alt-solid
|
||||
MAA의 빌드 방법은 여전히 논의 중입니다. 이 튜토리얼의 내용은 오래되었을 수 있으므로 [GitHub workflow file](https://github.com/MaaAssistantArknights/MaaAssistantArknights/blob/master/.github/workflows/ci.yml#L134)의 스크립트를 참고하세요. 또한 [AUR PKGBUILD](https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=maa-assistant-arknights) 및 [nixpkgs](https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/by-name/ma/maa-assistant-arknights/package.nix)을 참고할 수 있습니다.
|
||||
:::
|
||||
|
||||
::: info
|
||||
Mac은 `tools/build_macos_universal.zsh` 스크립트를 사용하여 컴파일할 수 있습니다. [MaaAssistantArknights/MaaMacGui](https://github.com/MaaAssistantArknights/MaaMacGui) 프로젝트의 README.md를 참고하는 것을 권장합니다.
|
||||
:::
|
||||
|
||||
## 컴파일 과정
|
||||
|
||||
1. 컴파일에 필요한 종속성 다운로드
|
||||
@@ -68,10 +72,12 @@ MAA의 빌드 방법은 여전히 논의 중입니다. 이 튜토리얼의 내
|
||||
|
||||
[Python demo](https://github.com/MaaAssistantArknights/MaaAssistantArknights/blob/master/src/Python/sample.py)에서 `__main__`의 구현을 참조하세요.
|
||||
|
||||
### C
|
||||
### C++
|
||||
|
||||
[CppSample](https://github.com/MaaAssistantArknights/MaaAssistantArknights/blob/master/src/Cpp/main.cpp)의 구현을 참조하세요.
|
||||
|
||||
### C\#
|
||||
### C Sharp
|
||||
|
||||
<!-- Do not use C#, MD003/heading-style: Heading style [Expected: atx; Actual: atx_closed] -->
|
||||
|
||||
[MaaWpfGui](https://github.com/MaaAssistantArknights/MaaAssistantArknights/blob/master/src/MaaWpfGui/Main/AsstProxy.cs)의 구현을 참조하세요.
|
||||
|
||||
@@ -9,7 +9,7 @@ icon: ri:earth-fill
|
||||
|
||||
이 튜토리얼을 시작하기 전에 다음 사항이 준비되었는지 확인해야 합니다.
|
||||
|
||||
1. 필요한 소프트웨어를 설치하고 올바르게 구성했습니다. ZH-CN 클라이언트 또는 해당 클라이언트의 `readme.md` 에 지원되는 기능이 제대로 작동하는지 확인할 수 있는 정보가 있서야 합니다.
|
||||
1. 필요한 소프트웨어를 설치하고 올바르게 구성했습니다. ZH-CN 클라이언트 또는 해당 클라이언트의 `readme.md` 에 지원되는 기능이 제대로 작동하는지 확인할 수 있는 정보가 있어야 합니다.
|
||||
2. [작업 스키마](../protocol/task-schema.md) 를 읽고 각 필드의 의미와 사용법을 기본적으로 이해해야 합니다. 코드에서 `@` 와 `#` 의 의미와 용법도 이해해야 합니다.
|
||||
3. ZH-CN 클라이언트의 `task.json` 파일과 템플릿 이미지는 해외 클라이언트에 대해 언급되지 않았거나 누락된 경우의 대안으로 사용된다는 점을 이해해야합니다. 해외 클라이언트에 대한 `task.json` 의 내용은 ZH-CN 작업 필드에 따라 다시 작성해야 합니다.
|
||||
4. 영어 실력이 있고, 영어 로그를 읽을 수 있으며, 로그를 통해 누락된 사진과 다른 정보를 찾을 수 있는 역량이 있으면 좋습니다.
|
||||
@@ -138,4 +138,4 @@ ROI 범위를 수정하는 방법:
|
||||
|
||||
## 변경사항 제출
|
||||
|
||||
[Github Pull Requst 가이드](./development.md#github-pull-request-진행-과정)을 참고하세요!
|
||||
[Github Pull Request 가이드](./pr-tutorial.md)를 참고하세요!
|
||||
|
||||
@@ -5,16 +5,16 @@ icon: mingcute:git-pull-request-fill
|
||||
|
||||
# 웹 기반 PR 가이드
|
||||
|
||||
소소한 GitHub Pull Request 사용 가이드 (\*´▽`)ノノ
|
||||
|
||||
::: warning
|
||||
이 가이드는 많은 개념을 단순화하여 더 많은 사람들이 실제로 사용할 수 있도록 설계되었습니다. 때로는 꽤 불안불안한 ~~하지만 간단한~~ 조치들과 약간 부정확한 설명이 있을 수 있으므로 전문가 분들의 이해를 부탁드립니다.
|
||||
만약 Git 사용 경험이 있고 프로그래밍 기초를 가지고 계시다면 ~~그럼 당신은 왜 보고 있나요🔨~~, 약간 더 발전된 가이드인 [Github Pull Request 진행과정](./development.md#github-pull-request-진행-과정)을 확인해주세요.
|
||||
:::
|
||||
|
||||
소소한 GitHUb Pull Request 사용 가이드 (\*´▽`)ノノ
|
||||
|
||||
## 기본 개념 및 용어 설명
|
||||
|
||||
장에서는 다소 지루한 내용을 다루고 있습니다. 관심 없으면 바로 실제 조작 부분으로 건너뛸 수 있으며, 이해되지 않는 부분은 나중에 다시 찾아보세요.
|
||||
이 장에서는 다소 지루한 내용을 다루고 있습니다. 관심 없으면 바로 실제 조작 부분으로 건너뛸 수 있으며, 이해되지 않는 부분은 나중에 다시 찾아보세요.
|
||||
|
||||
### Repository (저장소)
|
||||
|
||||
@@ -160,6 +160,8 @@ PR로도 알려져 있으며, "풀 리퀘스트"라는 용어는 너무 길고
|
||||
}
|
||||
```
|
||||
|
||||
우리는 간단한 커밋 제목 [관례적 커밋](https://www.conventionalcommits.org/zh-hans/v1.0.0/)이 있으니 가능하면 지켜주세요. 물론 정말 이해가 안 된다면 일단 아무렇게나 써도 됩니다.
|
||||
|
||||
```component Image1
|
||||
{
|
||||
"imageList": [
|
||||
@@ -201,6 +203,7 @@ PR로도 알려져 있으며, "풀 리퀘스트"라는 용어는 너무 길고
|
||||
```
|
||||
|
||||
그런 다음 제목, 수정한 내용 등을 작성하고 확인을 클릭합니다.
|
||||
PR 제목도 [관례적 커밋](https://www.conventionalcommits.org/zh-hans/v1.0.0/)을 지켜주세요. 물론 여전히 이해가 안 된다면 일단 아무렇게나 써도 됩니다.
|
||||
|
||||
```component Image1
|
||||
{
|
||||
@@ -242,14 +245,7 @@ PR로도 알려져 있으며, "풀 리퀘스트"라는 용어는 너무 길고
|
||||
}
|
||||
```
|
||||
|
||||
13. 전문가들의 승인을 기다리면 모두 완료됩니다! **버전이 출시**되면 당신의 GitHub 프로필 사진이 자동으로 기여자 목록에 추가됩니다. 모든 분들의 자비로운 공헌에 감사드립니다!
|
||||
~~왜 모든 사람들이 이중 인격이야, 오 나도 그렇지, 그럼 괜찮아~~
|
||||
|
||||
::: tip 기여자
|
||||
개발/테스트에 참여한 모든 친구들에게 감사드립니다. 여러분의 도움으로 MAA가 점점 더 좋아지고 있습니다! (\*´▽ `)ノノ
|
||||
|
||||
[](https://github.com/MaaAssistantArknights/MaaAssistantArknights/graphs/contributors)
|
||||
:::
|
||||
13. 전문가들의 승인을 기다리면 모두 완료됩니다! 수정한 내용이 이미 MAA 메인 저장소에 들어갔습니다!
|
||||
|
||||
14. 다음에 다른 PR을 제출하려면 먼저 dev 브랜치로 전환한 다음 아래 그림과 같이 진행하세요.
|
||||
|
||||
@@ -258,7 +254,7 @@ PR로도 알려져 있으며, "풀 리퀘스트"라는 용어는 너무 길고
|
||||
:::
|
||||
충돌을 일으키지 않을 경우 오른쪽에 초록색 `Update Branch` 버튼을 사용하세요.
|
||||
|
||||
에서 설명한 이 모든 것을 모르거나 알 필요가 없다면 왼쪽의 버튼을 클릭하세요.
|
||||
충돌 상황에 대해 잘 모르거나 알 필요가 없다면 왼쪽의 버튼을 클릭하세요.
|
||||
|
||||
```component Image1
|
||||
{
|
||||
@@ -276,3 +272,12 @@ PR로도 알려져 있으며, "풀 리퀘스트"라는 용어는 너무 길고
|
||||
```
|
||||
|
||||
그러면 3-14 단계를 반복하여 수정하고 PR을 제출하면 됩니다~
|
||||
|
||||
**버전이 출시**되면 당신의 GitHub 프로필 사진이 자동으로 기여자 목록에 추가됩니다. 모든 분들의 자비로운 공헌에 감사드립니다!
|
||||
~~왜 모든 사람들이 이중 인격이야, 아 나도 그렇지, 그럼 괜찮아~~
|
||||
|
||||
::: tip 기여자
|
||||
개발/테스트에 참여한 모든 친구들에게 감사드립니다. 여러분의 도움으로 MAA가 점점 더 좋아지고 있습니다! (\*´▽ `)ノノ
|
||||
|
||||
[](https://github.com/MaaAssistantArknights/MaaAssistantArknights/graphs/contributors)
|
||||
:::
|
||||
|
||||
@@ -6,4 +6,12 @@ dir:
|
||||
order: 6
|
||||
---
|
||||
|
||||
Rust로 작성된 간단한 MAA 명령행 도구입니다.
|
||||
|
||||
## 기능
|
||||
|
||||
- `maa fight`, `maa run <task>`와 같은 미리 정의된 또는 사용자 정의 작업을 실행합니다.
|
||||
- `maa install` 및 `maa update`를 사용하여 MaaCore 및 리소스를 설치하고 업데이트합니다.
|
||||
- `maa self update`를 사용하여 자체 업데이트를 수행합니다.
|
||||
|
||||
<Catalog base='/ko-kr/manual/cli/' />
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
---
|
||||
order: 1
|
||||
icon: material-symbols:toc
|
||||
---
|
||||
|
||||
# 소개
|
||||
|
||||
Rust로 작성된 간단한 [MAA][maa-home] 명령줄 도구입니다.
|
||||
|
||||
## 기능
|
||||
|
||||
- `maa fight`, `maa run <task>`와 같은 미리 정의된 또는 사용자 정의 작업을 실행합니다.
|
||||
- `maa install` 및 `maa update`를 사용하여 MaaCore 및 리소스를 설치하고 업데이트합니다.
|
||||
- `maa self update`를 사용하여 자체 업데이트를 수행합니다.
|
||||
|
||||
## 문서
|
||||
|
||||
- [설치 및 빌드](install.md)
|
||||
- [사용법](usage.md)
|
||||
- [설정](config.md)
|
||||
- [FAQ](faq.md)
|
||||
|
||||
[maa-home]: https://github.com/MaaAssistantArknights/MaaAssistantArknights/
|
||||
@@ -5,6 +5,20 @@ icon: mdi:plug
|
||||
|
||||
# 연결 설정
|
||||
|
||||
## 자동 감지
|
||||
|
||||
MAA는 현재 **실행 중인 단일 에뮬레이터**를 통해 ADB 경로, 연결 주소 및 연결 구성을 자동으로 감지하고 채울 수 있습니다.
|
||||
|
||||
MAA v5.7.0까지 지원하는 감지 가능한 에뮬레이터 및 연결 주소는 다음과 같습니다:
|
||||
|
||||
- BlueStacks 5: `127.0.0.1:5555/5556/5565/5575/5585/5595/5554`
|
||||
- MuMu 에뮬레이터 12: `127.0.0.1:16384/16416/16448/16480/16512/16544/16576`
|
||||
- LDPlayer 9: `emulator-5554/5556/5558/5560`, `127.0.0.1:5555/5557/5559/5561`
|
||||
- 逍遥(Xiaoyao): `127.0.0.1:62001/59865`
|
||||
- 夜神(Yeshen): `127.0.0.1:21503`
|
||||
|
||||
감지에 실패하면 UAC 관리자 권한으로 MAA를 시작하여 다시 감지해보세요. 여전히 실패한다면 아래 수동 설정을 참고하고, 에뮬레이터와 연결 주소가 위 목록에 포함되어 있는지 확인하세요.
|
||||
|
||||
## ADB 경로
|
||||
|
||||
:::info 기술적 정보
|
||||
@@ -41,12 +55,13 @@ MAA 폴더에 직접 압축을 푸는 것을 권장합니다. 그러면 ADB 경
|
||||
- [Bluestacks 5](https://support.bluestacks.com/hc/zh-tw/articles/360061342631-%E5%A6%82%E4%BD%95%E5%B0%87%E6%82%A8%E7%9A%84%E6%87%89%E7%94%A8%E5%BE%9EBlueStacks-4%E8%BD%89%E7%A7%BB%E5%88%B0BlueStacks-5#%E2%80%9C2%E2%80%9D) `5555`
|
||||
- [MuMu Pro](https://mumu.163.com/mac/function/20240126/40028_1134600.html) `16384`
|
||||
- [MuMu 12](https://mumu.163.com/help/20230214/35047_1073151.html) `16384`
|
||||
- [LDPlayer 9](https://help.ldmnq.com/docs/LD9adbserver) `emulator-5554`
|
||||
- [逍遥(Xiaoyao)](https://bbs.xyaz.cn/forum.php?mod=viewthread&tid=365537) `21503`
|
||||
- [夜神(Yeshen)](https://support.yeshen.com/zh-CN/qt/ml) `62001`
|
||||
|
||||
기타 에뮬레이터는 [赵青青의 블로그](https://www.cnblogs.com/zhaoqingqing/p/15238464.html)를 참고하세요.
|
||||
|
||||
#### 멀티 인스턴스에 관하여
|
||||
#### 멀티 인스턴스 포트 확인
|
||||
|
||||
- MuMu 12 의 멀티 인스턴스 관리자 오른쪽 상단에서 실행 중인 인스턴스의 포트를 확인할 수 있습니다.
|
||||
- Bluestacks 5 에뮬레이터 설정 내에서 현재 멀티 인스턴스 포트를 확인할 수 있습니다.
|
||||
@@ -56,34 +71,34 @@ MAA 폴더에 직접 압축을 푸는 것을 권장합니다. 그러면 ADB 경
|
||||
|
||||
- 방법 1: adb 명령어로 에뮬레이터 포트 확인
|
||||
|
||||
1. **하나의 에뮬레이터**를 실행하고, 다른 안드로이드 장치가 이 컴퓨터에 연결되어 있지 않은지 확인합니다.
|
||||
2. adb 실행 파일이 있는 폴더에서 명령어 창을 엽니다.
|
||||
3. 다음 명령어를 실행합니다.
|
||||
1. **하나의 에뮬레이터**를 실행하고, 다른 안드로이드 장치가 이 컴퓨터에 연결되어 있지 않은지 확인합니다.
|
||||
2. adb 실행 파일이 있는 폴더에서 명령어 창을 엽니다.
|
||||
3. 다음 명령어를 실행합니다.
|
||||
|
||||
```sh
|
||||
# Windows 명령 프롬프트
|
||||
adb devices
|
||||
# Windows PowerShell
|
||||
.\adb devices
|
||||
```
|
||||
```sh
|
||||
# Windows 명령 프롬프트
|
||||
adb devices
|
||||
# Windows PowerShell
|
||||
.\adb devices
|
||||
```
|
||||
|
||||
다음은 출력 예시입니다:
|
||||
다음은 출력 예시입니다:
|
||||
|
||||
```text
|
||||
List of devices attached
|
||||
127.0.0.1:<포트 번호> device
|
||||
emulator-<네 자리 숫자> device
|
||||
```
|
||||
```text
|
||||
List of devices attached
|
||||
127.0.0.1:<포트 번호> device
|
||||
emulator-<네 자리 숫자> device
|
||||
```
|
||||
|
||||
`127.0.0.1:<포트>` 또는 `emulator-<네 자리 숫자>`를 연결 주소로 사용합니다.
|
||||
`127.0.0.1:<포트>` 또는 `emulator-<네 자리 숫자>`를 연결 주소로 사용합니다.
|
||||
|
||||
- 방법 2: 기존 adb 연결 찾기
|
||||
|
||||
1. 방법 1을 시도합니다.
|
||||
2. `윈도우 키 + S`를 눌러 검색 창을 열고, `리소스 모니터`를 입력한 후 실행합니다.
|
||||
3. `네트워크` 탭으로 전환하고, 수신 대기 포트의 이름 열에서 에뮬레이터 프로세스명을 찾습니다. 예: `HD-Player.exe`.
|
||||
4. 에뮬레이터 프로세스의 모든 수신 대기 포트를 기록합니다.
|
||||
5. `TCP 연결`의 목록에서 `adb.exe`를 찾아, 원격 포트 열에서 에뮬레이터 수신 대기 포트와 일치하는 포트를 에뮬레이터 디버깅 포트로 사용합니다.
|
||||
1. 방법 1을 시도합니다.
|
||||
2. `윈도우 키 + S`를 눌러 검색 창을 열고, `리소스 모니터`를 입력한 후 실행합니다.
|
||||
3. `네트워크` 탭으로 전환하고, 수신 대기 포트의 이름 열에서 에뮬레이터 프로세스명을 찾습니다. 예: `HD-Player.exe`.
|
||||
4. 에뮬레이터 프로세스의 모든 수신 대기 포트를 기록합니다.
|
||||
5. `TCP 연결`의 목록에서 `adb.exe`를 찾아, 원격 포트 열에서 에뮬레이터 수신 대기 포트와 일치하는 포트를 에뮬레이터 디버깅 포트로 사용합니다.
|
||||
|
||||
:::
|
||||
|
||||
@@ -124,8 +139,8 @@ MAA는 이제 레지스트리에서 `bluestacks.conf`의 저장 위치를 읽어
|
||||
|
||||
1. 블루스택 데이터 디렉토리에서 `bluestacks.conf` 파일을 찾습니다.
|
||||
|
||||
- 글로벌 버전 `C:\ProgramData\BlueStacks_nxt\bluestacks.conf`
|
||||
- 중국 내륙 버전 `C:\ProgramData\BlueStacks_nxt_cn\bluestacks.conf`
|
||||
- 글로벌 버전 `C:\ProgramData\BlueStacks_nxt\bluestacks.conf`
|
||||
- 중국 내륙 버전 `C:\ProgramData\BlueStacks_nxt_cn\bluestacks.conf`
|
||||
|
||||
2. 처음 사용하는 경우, MAA를 한 번 실행하여 MAA가 자동으로 구성 파일을 생성하게 합니다.
|
||||
|
||||
@@ -136,12 +151,12 @@ MAA는 이제 레지스트리에서 `bluestacks.conf`의 저장 위치를 읽어
|
||||
|
||||
```json
|
||||
{
|
||||
"Configurations": {
|
||||
"Default": {
|
||||
"Bluestacks.Config.Path": "C:\\ProgramData\\BlueStacks_nxt\\bluestacks.conf"
|
||||
// 다른 구성 필드, 수동으로 입력하지 마세요.
|
||||
}
|
||||
"Configurations": {
|
||||
"Default": {
|
||||
"Bluestacks.Config.Path": "C:\\ProgramData\\BlueStacks_nxt\\bluestacks.conf"
|
||||
// 다른 구성 필드, 수동으로 입력하지 마세요.
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ icon: mingcute:android-fill
|
||||
|
||||
::: info 주의사항
|
||||
|
||||
0. [연결 설정](../connection.md)을 동시에 참조해야 합니다.
|
||||
1. Android 10부터 `Minitouch`는 `SELinux`가 `Enforcing` 모드인 경우 더 이상 사용할 수 없습니다. 다른 터치 모드로 전환하거나 `SELinux`를 일시적으로 `Permissive` 모드로 전환하세요.
|
||||
2. Android 생태계가 매우 복잡하기 때문에 `MAA 설정` - `연결 설정`에서 `연결 구성`을 `일반 모드` 또는 `호환 모드` 또는 `두 번째 해상도` 또는 `일반 모드(이상 출력 차단)`로 변경하여 작동하는 모드를 찾을 수 있습니다.
|
||||
3. MAA는 오직 `16:9` 비율의 해상도만 지원하므로, `16:9` 또는 `9:16` 화면 비율이 아닌 장치는 해상도를 강제로 변경해야 합니다. 이는 대부분의 현대적인 장치에 해당됩니다. 연결된 장치의 화면 비율이 원래 `16:9` 또는 `9:16`인 경우에는 해상도 변경 부분을 건너뛸 수 있습니다.
|
||||
|
||||
@@ -13,6 +13,47 @@ icon: teenyicons:linux-alt-solid
|
||||
|
||||
[maa-cli](https://github.com/MaaAssistantArknights/maa-cli)는 Rust로 작성된 간단한 MAA 커맨드 라인 도구입니다. 관련 설치 및 사용 방법은 [CLI 가이드](../cli/)를 참조하세요.
|
||||
|
||||
### Wine 사용
|
||||
|
||||
MAA WPF GUI는 현재 Wine을 통해 실행할 수 있습니다.
|
||||
|
||||
#### 설치 단계
|
||||
|
||||
1. [.NET 릴리스 페이지](https://dotnet.microsoft.com/en-us/download/dotnet/8.0)에서 Windows용 .NET **데스크톱** 런타임을 다운로드하고 설치합니다.
|
||||
|
||||
2. Windows용 MAA를 다운로드하고 압축을 푼 후 `wine MAA.exe`를 실행합니다.
|
||||
|
||||
::: info 주의
|
||||
연결 설정에서 ADB 경로를 [Windows용 `adb.exe`](https://dl.google.com/android/repository/platform-tools-latest-windows.zip)로 설정해야 합니다.
|
||||
|
||||
ADB를 통해 USB 장치에 연결해야 하는 경우, 먼저 Wine 외부에서 `adb start-server`를 실행하여 네이티브 ADB 서버에 Wine을 통해 연결하세요.
|
||||
:::
|
||||
|
||||
#### Linux 네이티브 MaaCore 사용 (실험적 기능)
|
||||
|
||||
[MAA Wine Bridge](https://github.com/MaaAssistantArknights/MaaAssistantArknights/tree/dev/src/MaaWineBridge) 소스 코드를 다운로드하고 빌드하여, 생성된 `MaaCore.dll`(ELF 파일)로 Windows 버전을 교체하고, Linux 네이티브 동적 라이브러리(`libMaaCore.so` 및 종속성)를 같은 디렉토리에 넣습니다.
|
||||
|
||||
이때 Wine을 통해 `MAA.exe`를 실행하면 Linux 네이티브 동적 라이브러리가 로드됩니다.
|
||||
|
||||
::: info 주의
|
||||
Linux 네이티브 MaaCore를 사용할 때는 연결 설정에서 ADB 경로를 Linux 네이티브 ADB로 설정해야 합니다.
|
||||
:::
|
||||
|
||||
#### Linux 데스크톱 통합 (실험적 기능)
|
||||
|
||||
데스크톱 통합은 네이티브 데스크톱 알림 지원과 fontconfig 글꼴 구성을 WPF에 매핑하는 기능을 제공합니다.
|
||||
|
||||
MAA Wine Bridge에서 생성된 `MaaDesktopIntegration.so`를 `MAA.exe`와 같은 디렉토리에 넣으면 활성화됩니다.
|
||||
|
||||
#### 알려진 문제
|
||||
|
||||
- Wine DirectWrite는 강제로 힌팅을 활성화하고 DPI를 FreeType에 전달하지 않아 글꼴 표시 효과가 좋지 않습니다.
|
||||
- 네이티브 데스크톱 알림을 사용하지 않을 때, 팝업 알림이 전체 시스템의 마우스 포커스를 빼앗아 다른 창을 조작할 수 없게 됩니다. `winecfg`를 통해 가상 데스크톱 모드를 활성화하거나 데스크톱 알림을 비활성화하여 완화할 수 있습니다.
|
||||
- Wine-staging 사용자는 MAA가 Wine 환경을 올바르게 감지할 수 있도록 `winecfg`의 `Wine 버전 숨기기` 옵션을 비활성화해야 합니다.
|
||||
- Wine의 Light 테마는 WPF에서 일부 텍스트 색상 이상을 일으키므로, `winecfg`에서 테마 없음(Windows 클래식 테마)으로 전환하는 것을 권장합니다.
|
||||
- Wine은 구식 XEmbed 트레이 아이콘을 사용하므로 GNOME에서 정상적으로 작동하지 않을 수 있습니다.
|
||||
- Linux 네이티브 MaaCore를 사용할 때는 자동 업데이트가 지원되지 않습니다 (~~업데이트 프로그램: 내가 Windows 버전을 다운로드해야 한다고?~~)
|
||||
|
||||
### Python 사용
|
||||
|
||||
#### 1. MAA 동적 라이브러리 설치
|
||||
@@ -64,7 +105,7 @@ icon: teenyicons:linux-alt-solid
|
||||
|
||||
사용자 정의 작업: [통합 문서](../../protocol/integration.md)를 참조하고, `sample.py`의 # 작업 및 매개 변수는 [예제](https://github.com/MaaAssistantArknights/MaaAssistantArknights/blob/722f0ddd4765715199a5dc90ea1bec2940322344/src/Python/sample.py#L54)를 참조해 줄을 수정하세요.
|
||||
|
||||
## 모바일 시뮬레이터 지원
|
||||
## 모바일 에뮬레이터 지원
|
||||
|
||||
### ✅ [AVD](https://developer.android.com/studio/run/managing-avds)
|
||||
|
||||
|
||||
@@ -5,10 +5,6 @@ icon: basil:apple-solid
|
||||
|
||||
# Mac 지원
|
||||
|
||||
::: tip
|
||||
문제가 발생하면 [FAQ](../faq.md)를 먼저 참조하세요.
|
||||
:::
|
||||
|
||||
## Apple Silicon 칩셋
|
||||
|
||||
### ✅ [PlayCover](https://playcover.io)(제일 부드럽습니다! 🚀)
|
||||
|
||||
@@ -25,7 +25,7 @@ winget install "Microsoft.VCRedist.2015+.x64" --override "/repair /passive /nore
|
||||
|
||||
:::
|
||||
|
||||
## 소프트웨어 실행 불가능/크래쉬/오류 발생
|
||||
## 소프트웨어 실행 불가능/크래시/오류 발생
|
||||
|
||||
### 다운로드/설치 문제
|
||||
|
||||
@@ -81,17 +81,9 @@ Windows 7에서 .NET 8 애플리케이션을 실행할 때 메모리 사용량
|
||||
사용 중인 에뮬레이터가 지원하는지, 확인하려면 다음 문서를 참조하세요. [Windows 지원 목록](./device/windows.md)
|
||||
:::
|
||||
|
||||
### adb 및 연결 주소 확인
|
||||
### ADB 및 연결 주소 확인
|
||||
|
||||
- MAA의 `설정` - `연결 설정` - `adb 경로`가 채워졌는지 확인하세요. 이미 채워져 있다면 이 단계를 건너뛰세요.
|
||||
|
||||
::: details 미 입력시
|
||||
|
||||
- 에뮬레이터의 설치 경로를 찾으세요. Windows에서는 작업 관리자에서 에뮬레이터를 실행한 후 프로세스를 마우스 오른쪽 클릭하여 `파일 위치 열기`를 선택할 수 있습니다.
|
||||
- 최상위 또는 하위 폴더에는 일반적으로 adb.exe가 있을 것입니다. 해당 파일을 선택하세요! (이름이 정확히 일치하지 않을 수 있습니다. 예를 들어 `nox_adb.exe`, `HD-adb.exe`, `adb_server.exe` 등이 있을 수 있습니다. 어쨌든 adb가 들어간 이름의 exe 파일입니다)
|
||||
:::
|
||||
|
||||
- 연결 주소가 올바르게 입력되었는지 확인하세요. 사용 중인 에뮬레이터의 adb 디버깅 주소를 인터넷에서 검색하세요. 일반적으로 127.0.0.1:5555와 같은 형식입니다. (단, LDPlayer는 예외입니다)
|
||||
[연결 설정](./connection.md)을 참조하세요.
|
||||
|
||||
#### 에뮬레이터의 연결 포트
|
||||
|
||||
@@ -125,6 +117,8 @@ adb 버전이 다를 경우, 새로 시작된 프로세스가 이전 프로세
|
||||
|
||||
일부 가속기는 가속을 시작하거나 중지한 후 MAA, ADB 및 에뮬레이터를 다시 연결해야 합니다.
|
||||
|
||||
UU 가속기와 MuMu 12를 동시에 사용할 경우 [공식 문서](https://mumu.163.com/help/20240321/35047_1144608.html)를 참고하세요.
|
||||
|
||||
### 컴퓨터 다시 시작
|
||||
|
||||
재부팅은 97%의 문제를 해결합니다. (확신합니다)
|
||||
@@ -178,7 +172,7 @@ Pie64_2 코어: (코어 이름 뒤의 숫자는 멀티 오픈 코어를 나타
|
||||
MAA는 이제 레지스트리에서 `bluestacks.conf`의 위치를 읽으려고 시도합니다. 이 기능이 작동하지 않으면 설정 파일 경로를 수동으로 지정해야 합니다.
|
||||
:::
|
||||
|
||||
1. 블루스택 시뮬레이터 데이터 디렉터리에서 `bluestacks.conf` 파일을 찾으세요.
|
||||
1. 블루스택 에뮬레이터 데이터 디렉터리에서 `bluestacks.conf` 파일을 찾으세요.
|
||||
|
||||
- 국제 버전의 기본 경로는 `C:\ProgramData\BlueStacks_nxt\bluestacks.conf`입니다.
|
||||
- 중국 본토 버전의 기본 경로는 `C:\ProgramData\BlueStacks_nxt_cn\bluestacks.conf`입니다.
|
||||
@@ -208,8 +202,8 @@ MAA는 이제 레지스트리에서 `bluestacks.conf`의 위치를 읽으려고
|
||||
- `UI 위치 조절`을 사용하는 경우 0으로 설정하세요.
|
||||
- 국가 별 클라이언트를 플레이하는 경우 먼저 `설정` - `게임 설정` - `클라이언트 유형`에서 `클라이언트 버전`을 선택하세요. 해외 클라이언트의 경우 일부 기능이 완전히 호환되지 않을 수 있으므로 해당 해외 클라이언트 사용 설명서를 참조하세요.
|
||||
- 통합전략 기능을 사용할 경우, [사용자 설명서](./introduction/integrated-strategy.md)를 참조하고 `통합전략` - `테마`에서 올바른 테마를 선택하세요
|
||||
- 자동 전투가 자주 일시 정지되고 운용자가 배치되지 않으면 `설정` - `실행 설정`에서 `일시정지 상태로 배치하기`를 비활성화하세요.
|
||||
- 자동 배치가 운용자를 제대로 인식하지 못할 경우, 해당 운용자의 특별 주의를 취소하세요.
|
||||
- 자동 전투가 자주 일시 정지되고 오퍼레이터가 배치되지 않으면 `설정` - `실행 설정`에서 `일시정지 상태로 배치하기`를 비활성화하세요.
|
||||
- 자동 배치가 오퍼레이터를 제대로 인식하지 못할 경우, 해당 오퍼레이터의 즐겨찾기를 해제하세요.
|
||||
- `Adb Input` 터치 모드 작업이 느린 것은 정상입니다. Copilot 기능이 필요한 경우 다른 모드로 전환해 보세요.
|
||||
|
||||
### 스크린샷 촬영이 오래 걸리거나 오랜 시간이 걸립니다
|
||||
@@ -217,7 +211,7 @@ MAA는 이제 레지스트리에서 `bluestacks.conf`의 위치를 읽으려고
|
||||
- MAA는 현재 `RawByNc`, `RawWithGzip`, `Encode` 세 가지 방법으로 스크린샷을 지원하며 평균 스크린샷 시간이 400/800보다 클 때 한 번의 메시지를 출력합니다. (한 번의 작업에서 한 번만 메시지를 출력합니다)
|
||||
- `설정` - `연결 설정`에서 최근 30회 스크린샷 시간의 최소/평균/최대값을 표시하며 10회마다 스크린샷이 새로 고침됩니다.
|
||||
- Copilot(자동 전투) 기능은 스크린샷 시간에 크게 영향을 받습니다.
|
||||
- 이 시간은 MAA와 관련이 없으며 컴퓨터 성능, 현재 사용률 또는 시뮬레이터에 따라 달라집니다. 백그라운드를 정리하거나 시뮬레이터를 변경하거나 컴퓨터 구성을 업그레이드하는 등의 조치를 취해보세요.
|
||||
- 이 시간은 MAA와 관련이 없으며 컴퓨터 성능, 현재 사용률 또는 에뮬레이터에 따라 달라집니다. 백그라운드를 정리하거나 에뮬레이터를 변경하거나 컴퓨터 구성을 업그레이드하는 등의 조치를 취해보세요.
|
||||
|
||||
## 관리자 권한 관련 문제
|
||||
|
||||
@@ -232,4 +226,4 @@ UAC가 비활성화된 시스템에서는 "우클릭하여 관리자 권한으
|
||||
|
||||
## 중간에 다운로드 중 "로그인"/"인증" 메시지가 표시됩니다
|
||||
|
||||
브라우저 / IDM / FDM 등의 다운로드 관리자를 사용하여 파일을 다운로드하세요. **위쳐를 사용하지 마세요!**
|
||||
브라우저 / IDM / FDM 등의 다운로드 관리자를 사용하여 파일을 다운로드하세요. **웨이더를 사용하지 마세요!**
|
||||
|
||||
@@ -9,7 +9,7 @@ icon: hugeicons:brain-02
|
||||
|
||||
- `이성 사용`의 일반 설정에있는 `이성 회복제 사용 + 순오리지늄 사용`과 `횟수 제한` 및 `드롭 제한` 세 가지 옵션은 하나만 만족해도 종료가 됩니다.
|
||||
|
||||
- `이성 회복제` 는 특정 횟수의 이성 회족제를 사용해 이성을 회복합니다. (연속으로 이성회복제 사용이 가능합니다)
|
||||
- `이성 회복제 사용` 은 특정 횟수의 이성 회복제를 사용해 이성을 회복합니다. (연속으로 이성 회복제 사용이 가능합니다)
|
||||
- `순오리지늄` 은 특정 횟수의 순오리지늄을 사용하며, 이성 회복제가 남아있을 경우 사용되지 않습니다.
|
||||
- `횟수 제한` 은 선택한 스테이지를 몇번 클리어 할 지 정합니다. (예시: 15번 클리어 후 정지)
|
||||
- `드롭 제한` 은 특정 재화를 몇개 획득할 지 정합니다. (5개의 장치 획득 후 정지)
|
||||
@@ -42,7 +42,7 @@ icon: hugeicons:brain-02
|
||||
- 해당 화면이 아닌 경우 `현재/이전`은 자동으로 가장 최근에 실행한 스테이지로 이동합니다.
|
||||
- 또는 작업 `설정` - `이성 사용` - `고급 설정`에서 `스테이지 코드 수동 입력`을 체크해 스테이지 코드를 직접 입력할 수 있습니다. 현재 내비게이션할 수 있는 스테이지는 다음과 같습니다:
|
||||
- 모든 메인 스토리 스테이지. 표준 또는 어려움 난이도를 전환하려면 스테이지 코드 뒤에 -NORMAL 또는 -HARD를 추가하세요.
|
||||
- 용문폐 혹은 작전 기록의 5/6스테이지는 `CE-6`/`LS-6`를 입력해야 합니다. MAA는 6 스테이지가 대리 지휘가 불가능할 경우자동으로 5 스테이지로 전환합니다.
|
||||
- 용문폐 혹은 작전 기록의 5/6스테이지는 `CE-6`/`LS-6`를 입력해야 합니다. MAA는 6스테이지가 대리 지휘가 불가능할 경우 자동으로 5스테이지로 전환합니다.
|
||||
- 스킬 북, 구매 증명서, 카본 부품 5스테이지는 `CA-5`/`AP-5`/`SK-5`를 입력해야 합니다.
|
||||
- 모든 칩 스테이지. 완전한 스테이지 코드를 입력해야 합니다. 예: `PR-A-1`.
|
||||
- 섬멸 모드는 다음 값을 지원합니다:
|
||||
@@ -72,9 +72,9 @@ icon: hugeicons:brain-02
|
||||
대체 스테이지는 해당 일자의 개방 여부에 따라 실제 전투에 사용될 스테이지를 결정합니다. 즉, 열려 있는 스테이지 중 첫 번째 것을 선택하여 전투를 수행합니다.
|
||||
이 기능은 일정표와 유사하며, 선택한 스테이지가 실패했을 경우를 대비한 백업 스테이지로 작동하지 않습니다.
|
||||
|
||||
1. 예: 기본 스테이지를 `룽먼 코인-6/5`로 설정하고, 대체 스테이지로 `1-7` 및 `경험치-6/5`를 설정한 경우:
|
||||
- 당일 `룽먼 코인-6/5`가 개방되어 있다면 해당 스테이지로 진입하며, `1-7` 및 `경험치-6/5`는 실행되지 않습니다. 이때 플레이어가 `룽먼 코인-6/5` 대리를 해제한 경우 작업은 실패합니다.
|
||||
- 당일 `룽먼 코인-6/5`가 개방되어 있지 않다면 `1-7`으로 진입하며, `경험치-6/5`는 실행되지 않습니다. 이때 `1-7` 대리를 해제한 경우에도 작업은 실패합니다.
|
||||
1. 예: 기본 스테이지를 `용문폐-6/5`로 설정하고, 대체 스테이지로 `1-7` 및 `경험치-6/5`를 설정한 경우:
|
||||
- 당일 `용문폐-6/5`가 개방되어 있다면 해당 스테이지로 진입하며, `1-7` 및 `경험치-6/5`는 실행되지 않습니다. 이때 플레이어가 `용문폐-6/5` 대리를 해제한 경우 작업은 실패합니다.
|
||||
- 당일 `용문폐-6/5`가 개방되어 있지 않다면 `1-7`으로 진입하며, `경험치-6/5`는 실행되지 않습니다. 이때 `1-7` 대리를 해제한 경우에도 작업은 실패합니다.
|
||||
- `1-7`은 상시 개방된 스테이지이므로, 그 앞에 위치한 `경험치-6/5`는 절대 선택되지 않습니다.
|
||||
|
||||
2. 기본 스테이지가 `섬멸 모드`인 경우:
|
||||
@@ -94,27 +94,27 @@ icon: hugeicons:brain-02
|
||||
|
||||
MAA는 사용자가 설정한 연속 전투 횟수에 따라 전투를 진행합니다.
|
||||
|
||||
- **자동 모드** (0):
|
||||
- 레벨 내 최대 연속 전투 횟수를 자동으로 파악하고, 최대 연속 전투 횟수를 유지하며, 정신력을 초과하지 않습니다.
|
||||
- 완료 후 `잔여 정신력` 프로세스 시작(설정된 경우)
|
||||
- **AUTO** (0):
|
||||
- 레벨 내 최대 연속 전투 횟수를 자동으로 파악하고, 최대 연속 전투 횟수를 유지하며, 이성을 초과하지 않습니다.
|
||||
- 완료 후 `남은 이성` 프로세스 시작(설정된 경우)
|
||||
|
||||
- **숫자 모드** (1~6):
|
||||
- 설정된 횟수에 따라 연속 전투를 진행합니다.
|
||||
- 현재 정신력이 설정된 횟수를 완료하기에 충분하지 않은 경우(예: 5회만 가능하지만 6회로 설정된 경우), 작업을 바로 종료하고 `잔여 정신력` 프로세스(설정된 경우)를 시작합니다.
|
||||
- 현재 이성이 설정된 횟수를 완료하기에 충분하지 않은 경우(예: 5회만 가능하지만 6회로 설정된 경우), 작업을 바로 종료하고 `남은 이성` 프로세스(설정된 경우)를 시작합니다.
|
||||
|
||||
- **비활성 모드** (-1):
|
||||
- 게임 내 연속 전투 횟수를 조정하지 않습니다.
|
||||
- 정신력이 현재 설정된 횟수를 완료하기에 충분하지 않은 경우 작업을 바로 종료하고 `잔여 정신력` 프로세스(설정된 경우)를 시작합니다.
|
||||
- 이성이 현재 설정된 횟수를 완료하기에 충분하지 않은 경우 작업을 바로 종료하고 `남은 이성` 프로세스(설정된 경우)를 시작합니다.
|
||||
|
||||
### 지정된 횟수
|
||||
|
||||
MAA는 지정된 횟수만큼 전투를 수행합니다.
|
||||
|
||||
예: 현재 정신력이 100이고 레벨업에 정신력 6이 소모된다고 가정합니다.
|
||||
예: 현재 이성이 100이고 레벨업에 이성 6이 소모된다고 가정합니다.
|
||||
|
||||
- 지정된 횟수가 10으로 설정되고 대리 배율이 4로 설정된 경우: 2(시작 행동) x 4(대리 배율) = 8번의 작업이 수행되며(2 x 플로어(10 / 4) = 8), 8 x 6 = 48의 정신력이 소모됩니다. 이때, 4배 프록시를 다시 실행하면 12회 작업이 발생하여 설정된 10회를 초과하므로 더 이상 실행되지 않고, 미션은 8회 작업으로 종료됩니다.
|
||||
- 지정된 횟수가 10으로 설정되고 대리 배율이 4로 설정된 경우: 2(시작 행동) x 4(대리 배율) = 8번의 작업이 수행되며(2 x 플로어(10 / 4) = 8), 8 x 6 = 48의 이성이 소모됩니다. 이때, 4배 프록시를 다시 실행하면 12회 작업이 발생하여 설정된 10회를 초과하므로 더 이상 실행되지 않고, 미션은 8회 작업으로 종료됩니다.
|
||||
|
||||
- 지정된 횟수는 10회로 설정되고, 프록시 배수는 AUTO로 설정됩니다. 6배 프록시 1회 + 4배 프록시 1회 = 10회 작업이 실행됩니다(6 * floor(10 / 6) + (10 % 6) = 10). 따라서 10 x 6 = 60의 정신력이 소모됩니다.
|
||||
- 지정된 횟수는 10회로 설정되고, 프록시 배수는 AUTO로 설정됩니다. 6배 프록시 1회 + 4배 프록시 1회 = 10회 작업이 실행됩니다(6 * floor(10 / 6) + (10 % 6) = 10). 따라서 10 x 6 = 60의 이성이 소모됩니다.
|
||||
|
||||
### 드롭 인식
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ icon: ph:sword-bold
|
||||
[prts.plus](https://prts.plus)에서 이용해 다운로드/업로드 및 제작할 수 있습니다!
|
||||
|
||||
::: warning
|
||||
자동 전투와 관련된 모든 기능에는 60프레임 이상의 안정적인 게임 프레임 속도가 필요합니다.
|
||||
자동 전투와 관련된 모든 기능에는 60프레임 이상의 안정적인 게임 프레임 레이트가 필요합니다.
|
||||
:::
|
||||
|
||||
## 작업 불러오기
|
||||
@@ -18,7 +18,7 @@ Copilot은 `일반/이벤트 스테이지` 및 `보안파견` 등을 지원합
|
||||
- 이 기능을 사용하려면 전투 준비 화면에서 `작전 개시` 버튼이 있는 곳에서 시작해야 합니다.
|
||||
그런 다음 MAA의 `자동지휘` 칸에서 `JSON 파일`을 가져오거나 [prts.plus](https://prts.plus)와 같은 사이트에서 코드를 입력하면 됩니다.
|
||||
- `자동 편성` 기능은 현재 편성을 초기화하고, 작업에 필요한 오퍼레이터를 자동으로 편성합니다.
|
||||
- 자동 배치에 해당하는 운용자의 특별 주의를 취소해야 합니다.
|
||||
- 자동 배치에 해당하는 오퍼레이터의 즐겨찾기를 해제해야 합니다.
|
||||
- `맞춤 오퍼레이터 추가`및 `신뢰도가 낮은 오퍼레이터 추가`도 할 수 있습니다.
|
||||
- `지원 유닛`을 사용하거나, 자동 편성이 불가능할 경우 수동 편성도 가능합니다.
|
||||
- `패러독스 시뮬레이션`의 경우 `자동 편성`을 사용하면 안됩니다! 스킬을 수동 선택 후 `시뮬레이션 시작` 버튼이 있는 화면에서 실행하세요.
|
||||
@@ -39,5 +39,5 @@ Copilot은 `일반/이벤트 스테이지` 및 `보안파견` 등을 지원합
|
||||
- 파일 작성기에서 스테이지를 입력한 후, 왼쪽 하단에 자동으로 확대/축소 가능한 좌표 지도가 표시됩니다. 오퍼레이터 위치를 클릭하여 설정할 수 있습니다.
|
||||
- 스테이지를 입력하고 JSON을 내보낸 후, 시작 버튼을 누르면 MAA 폴더의 `debug\map`에 좌표 정보가 포함된 지도 스크린샷이 생성됩니다.
|
||||
- [PRTS.Map](https://map.ark-nights.com/areas)은 `설정`에서 `좌표 표시`를 `MAA`로 변경하고 사용할 수 있습니다
|
||||
- 훈련 모드를 지원합니다.
|
||||
- 연습 모드를 지원합니다.
|
||||
- 파일 설명에는 귀하의 서명(작성자 이름), 참고하는 공략 비디오 링크, 기타 의견 등을 기입하는 것이 좋습니다!
|
||||
|
||||
@@ -13,4 +13,4 @@ icon: solar:shop-2-bold
|
||||
## 고급 설정
|
||||
|
||||
- 화이트 리스트와 블랙 리스트는 모두 키워드 매칭입니다. 예를 들어 `카본`을 입력하면 `카본 번들`과 `카본` 둘다 매칭됩니다.
|
||||
- `크레딧 포인트 300 미만 시 구매 X` 크레딧이 300보다 낮을 때에도 화이트리스트 상품은 구매합니다.
|
||||
- `크레딧 300 미만 시 구매 X` 크레딧이 300보다 낮을 때에도 화이트리스트 상품은 구매합니다.
|
||||
|
||||
@@ -22,7 +22,7 @@ icon: material-symbols:view-quilt-rounded
|
||||
- `드론 사용처`가 `무역소-용문폐`로 지정되어 있을 경우, `샤마르`를 인식하고 드론을 아껴둘 것입니다.
|
||||
- 응접실에서 단 한 종류의 단서가 부족하다면 해당 진영의 오퍼레이터가 선택됩니다. 그렇지 않은 경우 일반적인 오퍼레이터가 선택됩니다.
|
||||
- 응접실이 꽉 차 있을 때만 단서를 내보낼 것입니다. 최대 3개의 단서가 전달됩니다. `resource/tasks/tasks.json`에서 `ClueSelected`-`maxTimes` 필드를 수정해 단서의 전달 개수를 조절할 수 있습니다.
|
||||
- `아이린`, `로고스`나 다른 오퍼레이터가 당장 업무 중이 아니라는 이유로 숙소로 보내지는 것을 원치 않는다면, `이미 배치된 오퍼레이터를 숙소에 넣지 않기` 옵션을 활성화할 수 있습니다. 단, 컨디션이 0이 아닌 한 어떤 오퍼레이터도 숙소로 들어오지 못하게 되는 문제를 불러올 수도 있습니다.
|
||||
- `아이린`, `로고스`나 다른 오퍼레이터가 당장 업무 중이 아니라는 이유로 숙소로 보내지는 것을 원치 않는다면, `업무중인 오퍼레이터 숙소 배치 제한` 옵션을 활성화할 수 있습니다. 단, 컨디션이 0이 아닌 한 어떤 오퍼레이터도 숙소로 들어오지 못하게 되는 문제를 불러올 수도 있습니다.
|
||||
- 제어 센터의 복잡성으로 인해서, `아미야`, `스와이어`, `켈시`, `레인보우 팀`과 기타 시간당 컨디션 +0.05 오퍼레이터만이 고려됩니다. 향후 개선될 예정입니다.
|
||||
- 필요한 시설 유형만 선택해 MAA가 처리하도록 할 수 있습니다. 기본값은 모두 선택되어있습니다
|
||||
|
||||
@@ -33,4 +33,4 @@ icon: material-symbols:view-quilt-rounded
|
||||
## 커스텀 기반시설
|
||||
|
||||
- MAA 폴더의 `/resource/custom_infrast/`에는 이론적 최대 효율의 작업 몇 개가 내장되어 있습니다. 오퍼레이터 인원 수 및 육성의 요구 사항이 매우 높기 때문에 직접 사용하는 것은 권장하지 않습니다.
|
||||
- Yituliu의 JSON 생성기를 참고해서 작성하세요. [기반시설 JSON 생성기](https://ark.yituliu.cn/tools/schedule), [기반시설 스키마 문서](../../protocol/base-scheduling-schema.md)도 참조하세요.
|
||||
- Yituliu의 JSON 생성기를 참고해서 작성하세요. [기반시설 JSON 생성기](https://ark.yituliu.cn/tools/schedule), [기반시설 프로토콜 문서](../../protocol/base-scheduling-schema.md)도 참조하세요.
|
||||
|
||||
@@ -7,24 +7,55 @@ icon: ri:game-fill
|
||||
|
||||
MAA는 기본적으로 가장 최신의 테마를 선택하며, `통합전략` - `일반 설정`에서 변경할 수 있습니다.
|
||||
|
||||
::: warning
|
||||
자동 전투가 포함된 모든 기능은 최소 60프레임의 안정적인 게임 프레임 레이트가 필요합니다. 여기에는 Copilot 및 자동 통합전략이 포함됩니다.
|
||||
:::
|
||||
|
||||
- 게임 내에서 해당 통합전략 테마를 터미널에서 고정(`PIN`)해주세요. 현재 자동 탐색이 가능하지만 장기적인 사용을 보장할 수는 없습니다.
|
||||
- 대상이 아닌 테마를 탐색하는 도중인 경우(예: 미즈키를 하려고 하는데, 팬텀이 아직 클리어되지 않은 경우) 수동으로 종료해주세요.
|
||||
- MAA는 난이도를 자동으로 선택하지 않습니다. 난이도가 선택되지 않은 경우에는 난이도 선택 인터페이스에 갇히거나 반복해서 들어가고 나갈 수 있습니다.
|
||||
- 설정에서 팀, 시작 오퍼레이터(하나의 오퍼레이터만 가능) 등을 선택할 수 있습니다.
|
||||
- **목표가 아닌 테마**의 탐험을 미리 수동으로 종료하여 목표 테마가 현재 탐험을 시작할 수 있는지 확인하세요.
|
||||
- 설정에서 테마, 난이도, 분대, 시작 오퍼레이터(하나의 오퍼레이터만 가능) 등을 선택할 수 있습니다.
|
||||
- MAA는 지원 유닛을 사용하여 시작할 수 있습니다. 먼저 `일반 설정` → `시작 오퍼레이터`에 목표 오퍼레이터 이름을 입력하고, `고급 설정` → `「시작 오퍼레이터」로 지원 유닛 사용`을 활성화하세요.
|
||||
- 새로 설치된 클라이언트에서 **처음** 플레이할 때:
|
||||
- 난이도 선택 버튼이 표시되지 않습니다. 게임 내에서 수동으로 한 번 난이도를 선택하면 이후 MAA가 자동으로 선택할 수 있습니다.
|
||||
- 대지도 등의 인터페이스에 진입한 후 초보자 튜토리얼이 나타납니다. 읽은 후 수동으로 닫아주세요.
|
||||
|
||||
## 추천 시작법
|
||||
|
||||
::: details _최종 업데이트: 2025/8/2_
|
||||
|
||||
| 테마 | 난이도 | 분대 | 직업군 | 오퍼레이터 |
|
||||
| ------ | ----------------- | ----------------------------------- | -------- | ---------- |
|
||||
| 팬텀 | 정식 수사·3~7 | 지휘 분대 / 강습 전술 분대 | 상호보완 | 쏜즈 |
|
||||
| 미즈키 | 일렁이는 파도·3~7 | 인적 자원 분대 / 마음가짐 분대 | 차근차근 | 위셔델 |
|
||||
| 사미 | 자연에 도전·4~10 | 특훈 분대 / 원거리 전술 분대 | 차근차근 | 위셔델 |
|
||||
| 살카즈 | 영혼 직면·4~10 | 설계도 제작 분대 / 원거리 전술 분대 | 차근차근 | 위셔델 |
|
||||
| 쉐이 | 입장 환영·3~10 | 지휘 분대 / 원거리 전술 분대 | 차근차근 | 위셔델 |
|
||||
|
||||
난이도 추천은 `적 난이도`, `희망 소모`, `점수 배율` 등의 요소를 종합적으로 고려하여, 육성이 잘된 계정의 테스트에서 비교적 안정적이므로 실제 상황과 필요에 따라 자유롭게 조정할 수 있습니다.
|
||||
|
||||
| 테마 | 비고 |
|
||||
| ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| 팬텀 | `정식 수사·4` 이상의 난이도에서 시작하면 희망 감소 수집품을 얻어 시작 시 6성 오퍼레이터를 모집할 수 없을 수 있습니다. |
|
||||
| 미즈키 | `일렁이는 파도·4` 이상의 난이도에서 6성 오퍼레이터 모집 희망 소모+1이므로 `마음가짐 분대`를 사용하면 시작 시 6성 오퍼레이터를 모집할 수 없을 수 있습니다.<br>`인적 자원 분대`는 계정 육성도가 높은 상황에 적합하고, `마음가짐 분대`는 운에 의존해야 합니다. |
|
||||
| 사미 | `자연에 도전·6` 이상의 난이도에서 6성 오퍼레이터 모집 희망 소모+1이므로 `특훈 분대`를 사용하면 시작 시 6성 오퍼레이터를 모집할 수 없을 수 있습니다. |
|
||||
| 살카즈 | `영혼 직면·6` 이상의 난이도에서 6성 오퍼레이터 모집 희망 소모+1이므로 `설계도 제작 분대`를 사용하면 시작 시 6성 오퍼레이터를 모집할 수 없을 수도 있습니다.<br>`원거리 전술 분대`는 `원거리딜러`의 2정 캐릭터가 모두 제공되므로 육성도가 낮아도 안정적입니다. |
|
||||
| 쉐이 | 난이도별 희망 소모량에 큰 차이가 없어 상당히 높은 난이도도 선택할 수 있습니다. |
|
||||
|
||||
:::
|
||||
|
||||
## 전투 전략
|
||||
|
||||
자동 전투 중의 모든 작업은 미리 설정된 전략이며, 모든 스테이지 전투는 내장된 작업 파일을 호출합니다. 해당 단계 작업이 존재하지 않을 경우, 그다지 스마트하지 않은 일반 결정 트리가 전투에 사용됩니다.
|
||||
자동 전투 중의 모든 작업은 미리 설정된 전략이며, 모든 스테이지 전투는 내장된 작업 파일을 호출합니다. 해당 단계 작업이 존재하지 않을 경우, 그다지 똑똑하지 않은 일반 결정 로직이 전투에 사용됩니다.
|
||||
|
||||
자세한 내용은 [통합전략 스키마](../../protocol/integrated-strategy-schema.md)를 참고하세요.
|
||||
|
||||
- 오퍼레이터와 숙련도를 자동으로 인식하고 더 나은 오퍼레이터와 기술을 자동으로 선택합니다.
|
||||
- 오퍼레이터와 숙련도를 자동으로 인식하고 더 나은 오퍼레이터와 스킬을 자동으로 선택합니다.
|
||||
- 상점 아이템을 식별하고 더 좋은 수집품을 우선적으로 구매합니다.
|
||||
|
||||
## 비정상 상황 감지 (대처)
|
||||
|
||||
- 연결이 끊긴 후 다시 연결을 지원하며, 새벽 4시 업데이트 이후에 통합전략을 계속 할 수 있습니다.
|
||||
- 전투가 5분 이상 완료되지 않을 경우, 모든 지상 부대가 자동으로 철수됩니다. 고착 상태가 6분 이상 지속되면 현재 전투를 자동으로 포기됩니다.
|
||||
- 전투가 5분 이상 완료되지 않을 경우, 모든 오퍼레이터가 자동으로 철수됩니다. 고착 상태가 6분 이상 지속되면 현재 전투를 자동으로 포기됩니다.
|
||||
- 작업이 멈추면 자동으로 탐색을 포기하고 재시도합니다.
|
||||
|
||||
그러나 특정 부분에서 자주 멈추고 포기해 효율에 심각한 영향을 미친다면, 피드백을 제공하기 위해 언제든지 문제를 제출해주세요.
|
||||
|
||||
@@ -5,11 +5,25 @@ icon: icon-park-solid:other
|
||||
|
||||
# Others
|
||||
|
||||
## GPU 가속 추론
|
||||
|
||||
DirectML을 사용하여 GPU를 호출하여 인식 추론을 가속화합니다<sup>[PR](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/9236)</sup>. 적은 GPU 사용량으로 CPU 사용량을 크게 줄일 수 있으므로 활성화하는 것을 권장합니다.
|
||||
|
||||
테스트 결과, 일부 그래픽 카드는 기능 부족이나 성능 저하로 인해 이 기능을 사용할 때 인식 문제가 발생할 수 있습니다. MAA에는 이미 일부 GPU 블랙리스트가 내장되어 있습니다<sup>[PR1](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/9990)[PR2](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/12134)</sup>. 목록에 없는 그래픽 카드에서 이 기능을 활성화한 후 인식 문제가 발생하면 Issue를 제출해 주세요.
|
||||
|
||||
## 한 번만
|
||||
|
||||
메인 인터페이스와 설정의 구성 변경은 일반적으로 자동으로 저장되지만 다음은 MAA 재시작 후 재설정됩니다.
|
||||
|
||||
- `*` 표시가 있는 옵션
|
||||
- `(한 번만)` 표시가 있는 옵션
|
||||
- 체크박스를 우클릭하여 얻은 반선택 상태
|
||||
|
||||
## 시작 시 자동으로 구성 변경
|
||||
|
||||
MAA는 시작 매개변수를 통해 구성을 자동으로 전환할 수 있습니다. MAA 프로세스 이름 뒤에 `--config <구성 이름>`을 추가하면 됩니다. 예: `./MAA/MAA.exe --config 공식서버`
|
||||
MAA는 시작 매개변수를 통해 구성을 자동으로 전환할 수 있습니다. MAA 프로세스 이름 뒤에 `--config <구성 이름>`을 추가하면 됩니다. 예: `./MAA/MAA.exe --config Official`
|
||||
|
||||
일부 기호는 이스케이프해야 합니다. `Json` 참조하세요. 예를 들어 구성 이름이 `"공식서버"`인 경우 매개변수는 --config `\"공식서버\"`가 되어야 합니다
|
||||
일부 기호는 이스케이프해야 합니다. `Json` 참조하세요. 예를 들어 구성 이름이 `"Official"`인 경우 매개변수는 --config `\"Official\"`가 되어야 합니다
|
||||
|
||||
## 시작 전/후 스크립트
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ JSON 스키마와 통합을 희망하는 경우 언제든지 문의해주세요.
|
||||
|
||||
니우니우 항공을 탈 기회를 놓쳤나요? 걱정 마세요! 이제 모두가 자신의 니우니우 항공을 가지고 있어요! 그리고 헤드헌팅 과정 중에는 스크린샷이 찍혀서 자동적으로 인터페이스 중앙에 표시될 거에요!
|
||||
|
||||
## Peep
|
||||
## 모니터링
|
||||
|
||||
MAA의 눈을 통해 세상을 보고 싶나요? 이제 그것이 왔습니다!
|
||||
|
||||
|
||||
@@ -39,11 +39,11 @@ icon: ri:guide-fill
|
||||
|
||||
## 초기 설정
|
||||
|
||||
0. 자동 감지 기능을 사용하려면, 하나의 에뮬레이터만 설치되어 있고 멀티 인스턴스 기능을 사용안해야 합니다.
|
||||
0. 자동 감지 기능을 사용하려면, 하나의 에뮬레이터만 설치되어 있고 멀티 인스턴스 기능을 사용하지 않아야 합니다.
|
||||
|
||||
1. 설정 지침을 따라 설정합니다. 멀티 인스턴스를 실행할 필요가 없다면 연결 설정을 변경할 필요는 없습니다. 멀티 인스턴스를 사용할 경우 [연결 설정](./connection.md)을 확인하세요.
|
||||
|
||||
2. MAA를 처음 실행하면 리소스 업데이트가 진행됩니다. 오른쪽 로그에서 재시작 메시지가 나오면 MAA를 종료하고 다시 시작하세요.
|
||||
2. ~~MAA를 처음 실행하면 리소스 업데이트가 진행됩니다. 오른쪽 로그에서 재시작 메시지가 나오면 MAA를 종료하고 다시 시작하세요.~~
|
||||
|
||||
3. 왼쪽의 작업 목록을 드래그하여 작업 순서를 정리하고, 체크박스를 선택하거나 해제하여 실행할 작업을 선택하세요.
|
||||
|
||||
@@ -55,7 +55,11 @@ icon: ri:guide-fill
|
||||
|
||||
## 기타 정보
|
||||
|
||||
- **문제가 발생하면 문서를 여러 번 읽어보세요**
|
||||
::: center
|
||||
**문제가 발생하면 문서를 여러 번 읽어보세요**    **문제가 발생하면 문서를 여러 번 읽어보세요**    **문제가 발생하면 문서를 여러 번 읽어보세요**
|
||||
**문제가 발생하면 문서를 여러 번 읽어보세요**    **문제가 발생하면 문서를 여러 번 읽어보세요**    **문제가 발생하면 문서를 여러 번 읽어보세요**
|
||||
**문제가 발생하면 문서를 여러 번 읽어보세요**    **문제가 발생하면 문서를 여러 번 읽어보세요**    **문제가 발생하면 문서를 여러 번 읽어보세요**
|
||||
:::
|
||||
|
||||
1. 실행 로그는 MAA 폴더 내 debug 폴더에 있습니다. 로그는 매우 중요합니다. 다른 사람에게 도움을 요청할 때는 반드시 `asst.log`와 `gui.log`를 함께 제공하세요.
|
||||
|
||||
@@ -65,4 +69,4 @@ icon: ri:guide-fill
|
||||
|
||||
4. 일부 체크박스의 경우, 오른쪽 클릭으로 임시 선택 상태로 변경할 수 있습니다. 이 상태의 체크박스는 MAA가 다음에 시작될 때 자동으로 해제됩니다. 이는 `한번 만` 실행됩니다.
|
||||
|
||||
5. 문제가 뭔지 모르고, 어떻게 해야할 지 모르겠다면, 베타 및 개발버전을 사용하지 마세요.
|
||||
5. ~~문제가 뭔지 모르고, 어떻게 해야할 지 모르겠다면, 베타 및 개발버전을 사용하지 마세요.~~
|
||||
|
||||
@@ -12,16 +12,24 @@ icon: ri:game-fill
|
||||
## 로그라이크 리소스 파일 위치
|
||||
|
||||
- `resource/roguelike/`아래에 테마별 로그라이크 작업의 리소스를 저장합니다.
|
||||
- 테마 폴더: `Phantom/` 팬텀 로그라이크, `Mizuki/` 미즈키 로그라이크,`Sami/` 사미 로그라이크.
|
||||
- 테마 폴더: `Phantom/` 팬텀 로그라이크, `Mizuki/` 미즈키 로그라이크, `Sami/` 사미 로그라이크, `Sarkaz/` 살카즈 로그라이크, `JieGarden/` 쉐이 로그라이크
|
||||
- `autopilot/` 내에는 각 레벨의 작전 json이 있습니다.
|
||||
- `关卡名.json` 레벨의 작전 로직
|
||||
- `encounter/` 우연한 만남의 로직
|
||||
- `default.json` 기본 로직
|
||||
- `deposit.json` 예금 로직
|
||||
- `encounter/` 우연한 만남의 로직 (모든 비전투 및 상점이 아닌 노드)
|
||||
- `default.json` 레벨링 모드
|
||||
- `deposit.json` 오리지늄 주괴 모드
|
||||
- `recruitment.json` 오퍼레이터 모집 로직
|
||||
- `shopping.json` 상점 구매 로직
|
||||
- `shopping.json` 상점 구매 수집품 로직
|
||||
|
||||
특별히, `Sami/` 아래의 `foldartal.json`은 사미 로그라이크의 예견 밀문판의 사용 로직을 나타냅니다.
|
||||
- 특별히, `Sami/` 아래의
|
||||
- `foldartal.json`은 사미 로그라이크의 암호판의 사용 로직을 나타냅니다.
|
||||
- `collapsal_paradigms.json`은 사미 로그라이크 붕괴 패러다임의 유형을 나타냅니다.
|
||||
- `autopilot/关卡名_collapse.json` 레벨의 작전 로직 (붕괴 패러다임 모드)
|
||||
- `encounter/collapse.json` 붕괴 패러다임 모드 우연한 만남 로직
|
||||
|
||||
- `Sarkaz/` 아래의
|
||||
- `fragments.json`은 살카즈 로그라이크 사념의 기본 정보를 저장합니다.
|
||||
- `map.json`은 살카즈 로그라이크 청사진 통과용 템플릿 이미지 정보를 저장합니다.
|
||||
|
||||
## 로그라이크 첫 단계 - 오퍼레이터 모집
|
||||
|
||||
|
||||
@@ -45,7 +45,9 @@ TaskId ASSTAPI AsstAppendTask(AsstHandle handle, const char* type, const char* p
|
||||
"enable": bool, // 이 작업을 활성화할지 여부, 선택 사항, 기본값은 true
|
||||
"client_type": string, // 클라이언트 타입이 필요합니다.
|
||||
// 옵션: "Official" | "Bilibili" | "txwy" | "YoStarEN" | "YoStarJP" | "YoStarKR"
|
||||
"start_game_enabled": bool // 클라이언트를 자동으로 실행할지 여부, 선택 사항, 기본값은 false
|
||||
"start_game_enabled": bool, // 클라이언트를 자동으로 실행할지 여부, 선택 사항, 기본값은 false
|
||||
"account_name": string // 계정 전환, 선택 사항, 기본값은 전환하지 않음
|
||||
// 이미 로그인된 계정으로만 전환 가능, 로그인 이름으로 검색, 모든 로그인된 계정에서 고유한 입력 내용 보장 필요
|
||||
}
|
||||
```
|
||||
|
||||
@@ -119,7 +121,10 @@ TaskId ASSTAPI AsstAppendTask(AsstHandle handle, const char* type, const char* p
|
||||
string, // 태그 레벨이 3이면 여기에 있는 태그(있는 경우)가 최대한 많이 선택됩니다.
|
||||
... // 또한 강제 선택이므로 '3등급 태그 선택 해제' 설정은 모두 무시됩니다.
|
||||
],
|
||||
"extra_tags_mode": int,
|
||||
"extra_tags_mode": int, // 더 많은 태그 선택, 선택 사항, 기본값은 0
|
||||
// 0 - 기본 동작
|
||||
// 1 - 태그 3개 선택, 충돌 가능
|
||||
// 2 - 가능한 경우 더 많은 고성급 태그 조합을 동시에 선택, 충돌 가능
|
||||
"times": int, // 고용 횟수, 선택 사항, 기본값은 0입니다. 계산용으로만 0으로 설정할 수 있습니다.
|
||||
"set_time": bool, // 시간을 9시간으로 설정할지 여부, `times`가 0인 경우에만 사용 가능한 옵션입니다, 선택 사항, 기본값은 true입니다.
|
||||
"expedite": bool, // 즉시 완료 허가증을 사용할지 여부, 선택 사항, 기본값은 false입니다.
|
||||
|
||||
@@ -42,7 +42,7 @@ MAA는 이 엔드 포인트를 계속하여 폴링하여 실행해야하는 작
|
||||
// 순차 실행 작업: 아래 작업은 전달된 순서대로 대기열에 들어갑니다
|
||||
{
|
||||
"id": "b353c469-b902-4357-bd8f-d133199eea31", //작업의 고유 ID, 문자열 형식입니다. 작업 보고서에 사용됩니다.
|
||||
"type": "CaptureImage", //스크린샷 작업입니다. 현재 시뮬레이터의 스크린샷을 캡처하고 작업 보고서의 페이로드에 Base64 문자열로 넣습니다. 이러한 유형의 작업을 발행해야하는 경우 요청하는 엔드 포인트가 수용 할 수 있는 최대 요청 크기에 주의하세요. 스크린샷은 수십 메가바이트가 있으며 일반적인 게이트웨이의 기본 크기 제한을 초과할 수 있습니다.
|
||||
"type": "CaptureImage", //스크린샷 작업입니다. 현재 에뮬레이터의 스크린샷을 캡처하고 작업 보고서의 페이로드에 Base64 문자열로 넣습니다. 이러한 유형의 작업을 발행해야하는 경우 요청하는 엔드 포인트가 수용 할 수 있는 최대 요청 크기에 주의하세요. 스크린샷은 수십 메가바이트가 있으며 일반적인 게이트웨이의 기본 크기 제한을 초과할 수 있습니다.
|
||||
},
|
||||
{
|
||||
"id": "15be4725-5bd3-443d-8ae3-0a5ae789254c", //작업의 고유 ID, 문자열 형식입니다. 작업 보고서에 사용됩니다.
|
||||
|
||||
@@ -24,16 +24,16 @@ icon: material-symbols:task
|
||||
// - JustReturn: 인식 없이 작업을 직접 실행합니다.
|
||||
// - MatchTemplate: 이미지 매칭
|
||||
// - OcrDetect: 텍스트 인식
|
||||
// - Hash: 해시 계산
|
||||
// - FeatureMatch: 특징 매칭
|
||||
|
||||
"action": "ClickSelf", // 선택 사항, 인식 후 작업 유형을 나타냅니다.
|
||||
// 입력하지 않으면 기본값은 DoNothing입니다.
|
||||
// - ClickSelf: 인식된 위치를 클릭합니다 (인식된 대상 범위 내에서 무작위 점).
|
||||
// - ClickRand: 화면 전체에서 무작위 위치를 클릭합니다.
|
||||
// - ClickRect: 지정된 영역을 클릭합니다. specificRect 필드에 해당합니다. 이 옵션은 권장하지 않습니다.
|
||||
// - DoNothing: 아무 작업도 수행하지 않습니다.
|
||||
// - Stop: 현재 작업을 중지합니다.
|
||||
// - Swipe: 슬라이드, specificRect 및 rectMove 필드와 관련이 있습니다.
|
||||
// - Input: 텍스트 입력, algorithm이 JustReturn이어야 하며, inputText 필드에 해당합니다.
|
||||
|
||||
"sub": [ "SubTaskName1", "SubTaskName2" ],
|
||||
// 선택 사항, 서브 작업 목록입니다. 현재 작업이 실행된 후에 각 서브 작업을 순차적으로 실행합니다.
|
||||
@@ -48,12 +48,10 @@ icon: material-symbols:task
|
||||
// 입력하지 않으면 무한히 실행됩니다.
|
||||
// 최대 횟수에 도달하면 exceededNext 필드가 존재한다면 exceededNext 작업이 실행되며, 그렇지 않으면 현재 작업이 중지됩니다.
|
||||
|
||||
"next": [ "OtherTaskName1", "OtherTaskName2" ],
|
||||
// 선택 사항, 현재 작업 및 서브 작업 실행 후에 실행될 다음 작업을 나타냅니다.
|
||||
// 리스트의 맨 앞부터 순서대로 인식되며, 첫 번째로 일치하는 작업이 실행됩니다.
|
||||
// 입력하지 않으면 현재 작업 실행 후에 중지됩니다.
|
||||
// 동일한 작업에 대해 두 번째 인식부터는 첫 번째 인식 이후에 다시 인식되지 않습니다.
|
||||
// JustReturn 유형의 작업은 마지막 아이템에 위치하지 않도록 주의하세요.
|
||||
"next": ["OtherTaskName1", "OtherTaskName2"],
|
||||
// 선택 사항, 현재 작업과 sub 작업을 완료한 후 다음에 실행할 작업을 나타냅니다.
|
||||
// 앞에서부터 순차적으로 인식하여 첫 번째로 매칭되는 작업을 실행합니다.
|
||||
// 입력하지 않으면 현재 작업 완료 후 바로 중지됩니다.
|
||||
|
||||
"exceededNext": [ "OtherTaskName1", "OtherTaskName2" ],
|
||||
// 선택 사항, 최대 실행 횟수에 도달했을 때 실행할 작업을 나타냅니다.
|
||||
|
||||
@@ -32,9 +32,9 @@ MAA는 MAA Assistant Arknights의 약자입니다
|
||||
|
||||
## 다운로드 및 설치
|
||||
|
||||
[문서](./manual/newbie.md) 를 읽은 후 [공식 웹사이트](https://maa.plus) 또는 [Releases](https://github.com/MaaAssistantArknights/MaaAssistantArknights/releases) 에서 다운로드하십시오. [초보자 가이드](./manual/newbie.md) 를 참고하여 설치하십시오.
|
||||
[문서](./manual/newbie.md) 를 읽은 후 [공식 웹사이트](https://maa.plus) 또는 [Releases](https://github.com/MaaAssistantArknights/MaaAssistantArknights/releases) 에서 다운로드하세요. [초보자 가이드](./manual/newbie.md) 를 참고하여 설치하세요.
|
||||
|
||||
## 개요
|
||||
## 주요 기능
|
||||
|
||||
- 이성을 사용하고, 아이템 드랍을 인식해 자동으로 통계 사이트에 업로드 합니다. [펭귄 물류](https://penguin-stats.cn/), [Yituliu](https://ark.yituliu.cn/)
|
||||
- 자동으로 오퍼레이터 효율을 고려해 기반시설 교대를 하며, 동시에 사용자 커스텀 교대 기능도 지원합니다. [기반시설 스키마](./protocol/base-scheduling-schema.md)
|
||||
@@ -47,20 +47,28 @@ MAA는 MAA Assistant Arknights의 약자입니다
|
||||
- 원클릭으로 친구 방문 및 크레딧 획득/구매를 하며, 임무 보상 수령 등의 모든 일과를 수행합니다.
|
||||
- 통합전략에서 자동으로 오퍼레이터 레벨을 인식하며, 오리지늄 각뿔 획득 및 노드 개방과 레벨을 올려줍니다.
|
||||
- Copliot 파일을 통한 자동 지휘가 가능합니다. [영상 설명](https://www.bilibili.com/video/BV1H841177Fk/)
|
||||
- C, Python, Java, Rust, Golang, Java HTTP, Rust HTTP 다음과 같은 다양한 환경에서 MAA를 사용할 수 있습니다!!
|
||||
- C, Python, Java, Rust, Golang, Java HTTP, Rust HTTP 다음과 같은 다양한 환경에서 MAA를 사용할 수 있습니다!
|
||||
|
||||
말로만 설명하기보다는 사진으로 보여드리겠습니다!
|
||||
|
||||
```component Image2
|
||||
```component Image4
|
||||
{
|
||||
"imageList": [
|
||||
{
|
||||
"light": "images/ko-kr/readme/1-light.png",
|
||||
"dark": "images/ko-kr/readme/1-light.png"
|
||||
"dark": "images/ko-kr/readme/1-dark.png"
|
||||
},
|
||||
{
|
||||
"light": "images/ko-kr/readme/2-light.png",
|
||||
"dark": "images/ko-kr/readme/2-light.png"
|
||||
"dark": "images/ko-kr/readme/2-dark.png"
|
||||
},
|
||||
{
|
||||
"light": "images/ko-kr/readme/3-light.png",
|
||||
"dark": "images/ko-kr/readme/3-dark.png"
|
||||
},
|
||||
{
|
||||
"light": "images/ko-kr/readme/4-light.png",
|
||||
"dark": "images/ko-kr/readme/4-dark.png"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -70,11 +78,11 @@ MAA는 MAA Assistant Arknights의 약자입니다
|
||||
|
||||
### 기능 소개
|
||||
|
||||
[사용자 매뉴얼](./manual/)을 참조하십시오.
|
||||
[사용자 매뉴얼](./manual/)을 참조하세요.
|
||||
|
||||
### 해외 서버 지원
|
||||
|
||||
현재 글로버 서버 EN/KR/JP/txwy 서버의 대부분의 기능이 지원됩니다.
|
||||
현재 글로벌 서버 EN/KR/JP/txwy 서버의 대부분의 기능이 지원됩니다.
|
||||
그러나, 해외 서버 사용자가 적고 프로젝트 인원이 부족하기 때문에 대부분의 기능이 자세하게 테스트를 거치지 않았습니다.
|
||||
그러니 직접 사용해서 어떠한지 확인하시기 바랍니다.
|
||||
만약 버그가 있거나, 특정 기능에 대한 강한 요구가 있다면 [Issues](https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues) 및 [토론](https://github.com/MaaAssistantArknights/MaaAssistantArknights/discussions) 에서 요청하거나 참여해주세요!
|
||||
@@ -88,9 +96,9 @@ MAA는 명령줄 인터페이스(CLI)를 지원하며, Linux,macOS 및 Window에
|
||||
|
||||
### 주요 관련 프로젝트
|
||||
|
||||
**현재 프로젝트 팀에 프론트엔드 전문가가 매우 부족합니다! 관련 경험이 있으시다면 우리와 함께 해주세요!**
|
||||
**현재 프로젝트 팀에 프론트엔드 전문가가 매우 부족합니다! 관련 경험이 있으시다면 함께 참여해 주세요!**
|
||||
|
||||
- New Framework: [MaaFramework](https://github.com/MaaAssistantArknights/MaaFramework)
|
||||
- New Framework: [MaaFramework](https://github.com/MaaXYZ/MaaFramework)
|
||||
- [전략 파일 저장소](https://prts.plus): Frontend [maa-copilot-frontend](https://github.com/MaaAssistantArknights/maa-copilot-frontend)
|
||||
- [전략 파일 저장소](https://prts.plus): Backend [MaaBackendCenter](https://github.com/MaaAssistantArknights/MaaBackendCenter)
|
||||
- [공식 웹사이트](https://maa.plus): [frontend](https://github.com/MaaAssistantArknights/MaaAssistantArknights/tree/dev/website)
|
||||
@@ -98,24 +106,17 @@ MAA는 명령줄 인터페이스(CLI)를 지원하며, Linux,macOS 및 Window에
|
||||
|
||||
### 다국어 지원 (i18n)
|
||||
|
||||
MAA는 다국어를 지원하며, Weblate를 사용하여 로컬라이징을 관리합니다. 여러 언어를 알고 계시다면 [MAA Weblate](https://weblate.maa-org.net)로 이동하여 번역에 도음을 주세요.
|
||||
MAA는 다국어를 지원하며, Weblate를 사용하여 로컬라이징을 관리합니다. 여러 언어를 알고 계시다면 [MAA Weblate](https://weblate.maa-org.net)로 이동하여 번역에 도움을 주세요.
|
||||
|
||||
MAA는 중국어(간체)를 기본 언어로 하며, 번역 단어는 중국어(간체)를 기준으로 합니다.
|
||||
|
||||
[](https://weblate.maa-org.net/engage/maa/)
|
||||
|
||||
### Windows
|
||||
### 개발 참여 및 기여
|
||||
|
||||
1. 미리 빌드된 서드파티 라이브러리 다운로드
|
||||
#### Windows
|
||||
|
||||
```cmd
|
||||
python maadeps-download.py
|
||||
```
|
||||
|
||||
2. Visual Studio 2022 로 `MAA.sln`파일을 열고, `MaaWpfGui`를 마우스 우클릭을 해 시작 프로젝트로 설정합니다.
|
||||
3. VS 상단에서 `RelWithDebInfo` `x64`을 선택합니다. (릴리즈 패키지 또는 ARM 플랫폼을 컴파일하는 경우 이 단계를 무시하세요)
|
||||
4. `MaaWpfGui` - 속성 - 디버깅 - 로컬 디버깅 활성화(이렇게 하면 C++ Core에 중단점을 설정할 수 있습니다)
|
||||
5. (선택사항)PR을 제출하기전에, [clang-format 지원](./develop/development.md#visual-studio에서-clang-format-사용-설정)을 활성화하는 것이 좋습니다.
|
||||
[개발 전 필수 사항](./develop/development.md)을 참조하세요.
|
||||
|
||||
### Linux | macOS
|
||||
|
||||
@@ -156,7 +157,7 @@ MAA는 중국어(간체)를 기본 언어로 하며, 번역 단어는 중국어(
|
||||
- 이미지 인식: [opencv](https://github.com/opencv/opencv.git)
|
||||
- ~~글자 인식: [chineseocr_lite](https://github.com/DayBreak-u/chineseocr_lite.git)~~
|
||||
- 글자 인식: [PaddleOCR](https://github.com/PaddlePaddle/PaddleOCR)
|
||||
- ML Deployment: [FastDeploy](https://github.com/PaddlePaddle/FastDeploy)
|
||||
- 딥러닝 배포 라이브러리: [FastDeploy](https://github.com/PaddlePaddle/FastDeploy)
|
||||
- ML accelerator: [onnxruntime](https://github.com/microsoft/onnxruntime)
|
||||
- ~~아이템 드랍 인식: [Penguin Stats recognizer](https://github.com/penguin-statistics/recognizer)~~
|
||||
- 맵 타일 인식: [Arknights-Tile-Pos](https://github.com/yuanyan3060/Arknights-Tile-Pos)
|
||||
@@ -168,9 +169,10 @@ MAA는 중국어(간체)를 기본 언어로 하며, 번역 단어는 중국어(
|
||||
- 안드로이드 터치 이벤트 구현: [Minitouch](https://github.com/DeviceFarmer/minitouch)
|
||||
- 안드로이드 터치 이벤트 구현: [MaaTouch](https://github.com/MaaAssistantArknights/MaaTouch)
|
||||
- WPF MVVM 프레임워크: [Stylet](https://github.com/canton7/Stylet)
|
||||
- WPF 조작 라이브러리: [HandyControl](https://github.com/HandyOrg/HandyControl)
|
||||
- C# JSON 라이브러리: [Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json)
|
||||
- 다운로더: [aria2](https://github.com/aria2/aria2)
|
||||
- WPF 조작 라이브러리: [HandyControl](https://github.com/HandyOrg/HandyControl) -> [HandyControls](https://github.com/ghost1372/HandyControls)
|
||||
- C# 로그: [Serilog](https://github.com/serilog/serilog)
|
||||
- C# JSON 라이브러리: [Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json) & [System.Text.Json](https://github.com/dotnet/runtime)
|
||||
- ~~다운로더: [aria2](https://github.com/aria2/aria2)~~
|
||||
|
||||
### 데이터 소스
|
||||
|
||||
@@ -198,10 +200,12 @@ MAA의 개선을 위한 개발/테스트에 기여해준 모든 친구들에게
|
||||
|
||||
## 광고
|
||||
|
||||
사용자 그룹: [Telegram](https://t.me/+Mgc2Zngr-hs3ZjU1), [QQ 그룹](https://api.maa.plus/MaaAssistantArknights/api/qqgroup/index.html)
|
||||
사용자 그룹: [QQ 그룹](https://api.maa.plus/MaaAssistantArknights/api/qqgroup/index.html)
|
||||
Discord 서버: [Discord 링크](https://discord.gg/23DfZ9uA4V)
|
||||
사용자 그룹: [Telegram](https://t.me/+Mgc2Zngr-hs3ZjU1)
|
||||
[전략 JSON 공유](https://prts.plus)
|
||||
Bilibili 라이브 방송: [MrEO 방송](https://live.bilibili.com/2808861) 코딩 방송 & [MAA-Official 방송](https://live.bilibili.com/27548877) 게임/잡담
|
||||
|
||||
[명일방주 무관 기술 공유 & 만담 (QQ 그룹)](https://jq.qq.com/?_wv=1027&k=ypbzXcA2): 지옥 같아요!
|
||||
[개발자 그룹 (QQ 그룹)](https://jq.qq.com/?_wv=1027&k=JM9oCk3C)
|
||||
|
||||
|
||||