FastAsyncWorldEdit 문서 원본 보기 ← FastAsyncWorldEdit 문서 편집 권한이 없습니다. 다음 이유를 확인해주세요: 요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다: 사용자. 문서의 원본을 보거나 복사할 수 있습니다. '''FastAsyncWorldEdit'''('''FAWE''')는 [[WorldEdit]]의 포크로, 성능과 메모리 사용량을 대폭 개선하고 다양한 추가 기능을 제공하는 [[마인크래프트]] 플러그인이다. 비동기 처리를 통해 대규모 편집 작업을 수행할 때도 서버 성능에 미치는 영향을 최소화한다. IntellectualSites에서 개발한 이 플러그인은 특히 대규모 건축 프로젝트나 지형 편집 작업에서 탁월한 성능을 보여주며, 기존 WorldEdit와 완벽한 호환성을 유지하면서도 수십 배에서 수백 배 빠른 처리 속도를 제공한다.<ref>공식 문서에 따르면, 특정 작업에서 최대 1000배까지 빠른 성능을 보인다고 한다.</ref> WorldEdit에 의존하는 다른 플러그인들도 FAWE를 설치하면 자동으로 성능 향상의 혜택을 받게 되는데, 이는 FAWE가 WorldEdit API를 그대로 유지하면서 내부 처리 방식만을 최적화했기 때문이다. == 역사 == FAWE는 2016년 Empire92(NotMyFault)에 의해 처음 개발되었다. 당시 대규모 서버에서 WorldEdit 사용 시 발생하는 성능 문제를 해결하기 위해 시작된 프로젝트였다. 주요 버전 변천사: * '''2016년''': 첫 릴리즈, 기본적인 비동기 처리 구현 * '''2017년''': 다중 클립보드, 브러시 시스템 개선 * '''2018년''': 1.13 업데이트 대응, 새로운 블록 시스템 지원 * '''2020년''': 1.16 네더 업데이트 지원, 성능 최적화 * '''2023년''': 1.20 업데이트 지원, 모던 자바 버전 대응 == 주요 기능 == === 성능 개선 === FAWE의 가장 큰 특징은 '''비동기 처리'''를 통한 성능 개선이다. 다음과 같은 최적화 기법을 사용한다: * '''청크 단위 처리''': 블록 단위가 아닌 청크 섹션 단위로 작업 처리 * '''멀티스레딩''': CPU 코어를 최대한 활용하여 병렬 처리 * '''메모리 최적화''': 압축과 버퍼링을 통한 메모리 사용량 감소 * '''지연 실행''': 필요한 시점까지 실제 작업을 지연시켜 최적화 === 추가된 기능들 === ==== 클립보드 시스템 ==== * '''웹 통합''': 클립보드를 웹으로 업로드/다운로드 가능 * '''다중 클립보드''': 여러 클립보드를 동시에 관리 * '''지연 복사''': `//lazycopy` 명령으로 대규모 영역도 즉시 복사 ==== 향상된 브러시 ==== {| class="wikitable" ! 브러시 유형 !! 설명 !! 명령어 |- | '''Blend''' || 지형을 부드럽게 혼합 || `/br blendball` |- | '''Spline''' || 곡선을 따라 객체 생성 || `/br spline` |- | '''Height''' || 지형 높이 조절 || `/br height` |- | '''Layer''' || 여러 층으로 표면 덮기 || `/br layer` |- | '''Shatter''' || 지형을 불규칙하게 분할 || `/br shatter` |} ==== 마스크와 패턴 ==== FAWE는 WorldEdit의 마스크와 패턴 시스템을 대폭 확장했다: * '''표현식 마스크''': 수학적 표현식을 사용한 복잡한 마스크 * '''각도 마스크''': 지형 경사도에 따른 선택 * '''노이즈 패턴''': Simplex 노이즈를 활용한 자연스러운 패턴 * '''그라디언트 패턴''': 색상이나 블록이 점진적으로 변하는 패턴 === 시각화 기능 === * '''실시간 미리보기''': 편집 결과를 실행 전에 확인 * '''브러시 시각화''': 브러시 영향 범위를 유리 블록으로 표시 * '''진행률 표시''': 대규모 작업의 진행 상황 실시간 확인 == 설치 방법 == === 요구 사항 === * '''Minecraft 서버''': Spigot, Paper, 또는 호환 서버 * '''Java''': 버전 8 이상 (최신 버전은 Java 17+ 권장) * '''RAM''': 최소 2GB, 대규모 작업 시 4GB 이상 권장 === 설치 과정 === # [https://modrinth.com/plugin/fastasyncworldedit Modrinth], [https://www.spigotmc.org/resources/13932/ SpigotMC], 또는 [https://www.curseforge.com/minecraft/bukkit-plugins/fawe CurseForge]에서 최신 버전 다운로드 # 서버의 `plugins` 폴더에 JAR 파일 복사 # 서버 재시작 # `plugins/FastAsyncWorldEdit` 폴더에서 설정 파일 확인 === 권한 설정 === 기본적으로 WorldEdit의 권한 노드를 그대로 사용하며, FAWE 고유 기능에는 `fawe.*` 권한이 추가된다: * `fawe.admin`: 모든 FAWE 관리 기능 * `fawe.limit.*`: 제한 설정 관련 권한 * `fawe.bypass`: 제한 우회 권한 * `fawe.tips`: 팁 메시지 표시 == 성능 모드 == FAWE는 세 가지 배치 모드를 제공한다: # '''블록 모드 (Bukkit-API)''': 가장 느리지만 호환성이 높음 # '''청크 모드 (NMS)''': 기본 모드, 청크 섹션 단위로 처리<ref>NMS(Net.Minecraft.Server)는 마인크래프트 서버의 내부 코드를 직접 활용하는 방식이다.</ref> # '''월드 모드 (CFI)''': 새로운 월드나 지역 생성 시 사용 기본적으로 청크 모드가 사용되며, 이는 대부분의 상황에서 최적의 성능을 제공한다. == 설정 최적화 == === config.yml 주요 설정 === <pre> # 히스토리 설정 history: # 압축 레벨 (0-9, 높을수록 압축률 증가) compression-level: 3 # 버퍼 크기 (MB) buffer-size: 64 # 최대 저장 기간 (일) delete-after-days: 7 # 큐 설정 queue: # 병렬 스레드 수 parallel-threads: 4 # 청크당 최대 대기 시간 (ms) max-wait-ms: 1000 # 제한 설정 limits: # 최대 블록 변경 수 max-changes: 50000000 # 최대 엔티티 수 max-entities: 1337 # 최대 타일 엔티티 수 max-blockstates: 1337 </pre> === 메모리 최적화 팁 === * '''압축 레벨 증가''': 디스크 사용량 감소, CPU 사용량 증가 * '''버퍼 크기 조정''': RAM이 충분하면 증가, 부족하면 감소 * '''히스토리 제한''': `//fast` 명령으로 히스토리 비활성화 가능 == 개발자 API == FAWE는 WorldEdit API와 완벽히 호환되며, 추가로 비동기 처리를 위한 API를 제공한다: <pre> // WorldEdit API를 비동기로 사용 CompletableFuture<EditSession> future = WorldEdit.getInstance() .getEditSessionFactory() .getEditSessionAsync(world, -1); // FAWE 전용 비동기 래퍼 FaweAPI.getTaskManager().async(() -> { // 비동기 작업 수행 EditSession session = new EditSessionBuilder(world) .fastmode(true) .build(); // 편집 작업... }); </pre> == 알려진 문제점 == * '''일부 보호 플러그인과의 충돌''': 비동기 처리로 인해 일부 보호 확인이 우회될 수 있음 * '''리소스 팩 블록''': 커스텀 모델 데이터를 사용하는 블록의 처리가 불완전할 수 있음 * '''극도로 큰 작업''': 수억 개 이상의 블록 작업 시 메모리 부족 가능 == 대안 플러그인 == * '''[[WorldEdit]]''': 원본 플러그인, 안정성 중시 * '''[[VoxelSniper]]''': 지형 편집에 특화 * '''[[goBrush]]''': 고급 지형 편집 도구 * '''[[Axiom]]''': 클라이언트 사이드 편집 도구 == 같이 보기 == * [[WorldEdit]] * [[마인크래프트/플러그인]] * [[마인크래프트/건축]] * [[FastAsyncWorldEdit/명령어]] == 각주 == <references /> == 외부 링크 == * [https://intellectualsites.gitbook.io/fastasyncworldedit/ 공식 문서] * [https://github.com/IntellectualSites/FastAsyncWorldEdit GitHub 저장소] * [https://discord.gg/intellectualsites 공식 Discord 서버] * [https://modrinth.com/plugin/fastasyncworldedit Modrinth 페이지] * [https://www.youtube.com/watch?v=RPZIaTbqoZw FAWE 브러시 튜토리얼 영상] [[분류:마인크래프트]] FastAsyncWorldEdit 문서로 돌아갑니다. 분류