← 목록

mLua · Nemotron-CC 리프레이즈 (CPT)

총 8,200개 · 페이지 254/274
🔀 랜덤
불러오는 중…

[task] | extract_knowledge [title] | Command Console 명령어 [category] | Guides [rephrased] | # 메이커 Command Console 명령어: `findentity` 및 `findcomponent` ## 1. 개념 설명 메이플스토리 월드 메이커(Maker)의 Command Console은 하이어라키(Hierarchy) 내의 엔티티(Entity)와 컴포넌트(Component)를 특정 조건에 따라 검색하는 기능을 제공합니다. 주요 명령어는 다음과 같습니다. * **`findentity`**: 지정된 경로, 이름, 모델 정보, 상태(Visible/Enable) 등을 조건으로 엔티티를 검색합니다. * **`findcom [original] | * **-path**: 엔티티를 찾을 경로로 지정합니다 * path: 엔티티를 찾을 경로입니다. * **-visibleonly**: Visible인 엔티티만 찾습니다. * **-enableonly**: Enable인 엔티티만 찾습니다. * **-modelonly**: 모델을 확장한 엔티티만 찾습니다. * **-name**: 지정한 이름이 포함된 엔티티를 찾습니다. * name: 찾을 이름입니다. * match_type: 이름을 찾는 방식입니다. contains, equals, regex 중 하나를 사용합니다. [chunk_id] | Guides:1195:1

[task] | diverse_qa [title] | Lua Executor [category] | Guides [rephrased] | 질문: Lua Executor를 사용하여 맵 전경을 확인하기 위해 어떤 컴포넌트를 추가해야 하나요? 답변: CameraComponent를 추가해야 합니다. 질문: 맵 전경 확인을 위해 생성하는 모델의 유형은 무엇인가요? 답변: transformonly 모델입니다. 질문: 아래 코드의 주요 목적은 무엇인가요? ```lua local mapEntity = _EntityService:GetEntityByPath("/maps/map01") local debugCamera = _SpawnService:SpawnByModelId("mode [original] | 커다란 맵을 만들었을 때는 맵 전체를 돌아보며 월드의 구성이 크리에이터가 생각한 바와 동일하게 만들어졌는지 확인이 필요합니다. Lua Executor를 활용해 테스트 플레이 중에 CameraComponent를 추가해 맵 전경을 확인할 수 있습니다. 1. **Workspace - MyDesk - Create Model**을 눌러 새로운 **transformonly** 모델을 생성합니다. 2. **TransformComponent**를 추가합니다. ![[object Object]](https://mod-file.dn.nexoncd [chunk_id] | Guides:1196:1

[task] | distill [title] | RateLimitService 활용하기 [category] | Guides [rephrased] | # RateLimitService 활용하기 (이동 UI 예제) `Destination` 엔티티로 즉시 이동하는 UI를 구현하고, 사용량 제한을 적용하는 방법입니다. ## 1. 컴포넌트 설정 `DefaultPlayer`에 `CheatingComponent`를 추가합니다. `Destination` 프로퍼티에 목적지 Entity 경로를 지정합니다. ```lua Property: [None] Entity Destination = /maps/map01/Destination ``` ## 2. 이벤트 처리 `UIButton`의 `Bu [original] | 언제든지 Destination 엔티티로 이동할 수 있는 UI를 만들어봅시다. 이 UI를 사용할 경우 사용량 제한에 걸리게 됩니다. 1. **Hierarchy - ui - DefaultGroup - Create Entity - Create Button**을 선택해 새로운 **UIButton**을 생성합니다. 2. 크기와 색상을 자유롭게 결정합니다. ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/bbs/173199759809163519c556d1f4457b5407341c986eeb7. [chunk_id] | Guides:1197:2

[task] | knowledge_list [title] | RateLimitService 활용하기 [category] | Guides [rephrased] | 1. `RateLimitService`는 server 실행 함수의 사용량을 크리에이터가 설정한 값에 따라 제한하고, 유저가 제한된 함수를 다시 사용할 수 있을 때까지 필요한 대기 시간을 설정하는 방식으로 월드 보안을 강화하는 서비스입니다. 2. `RateLimitService`로 사용량을 제한할 수 있는 대상 함수는 Native API의 server 함수와 크리에이터가 제작한 server 함수 두 가지입니다. 3. `RateLimitService`는 룸마다 독립적으로 존재하므로, 특정 룸의 사용량 제한 설정은 다른 룸에 영향을 주지 [original] | # 학습 과정 소개 유저의 server 함수 사용량을 제한하는 방법을 알아봅시다. ##### 참고 가이드 [패킷 변조 대비하기](https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1102) [월드 인스턴스](https://maplestoryworlds-creators.nexon.com/ko/docs?postId=984) [인스턴스 맵 만들기](https://maplestoryworlds-creators.nexon.com/ko/docs/?postId=540) # RateL [chunk_id] | Guides:1197:0

[task] | knowledge_list [title] | Lua Executor [category] | Guides [rephrased] | 1. `Workspace - MyDesk - Create Model`을 통해 `transformonly` 타입의 모델을 생성할 수 있으며, 이는 Lua Executor를 활용한 테스트 플레이 시 카메라 제어용 엔티티 생성을 위한 사전 단계입니다. 2. 생성된 `transformonly` 모델에 `TransformComponent`를 추가해야 하며, 이 컴포넌트는 엔티티의 위치와 방향을 제어하는 데 필수적인 요소입니다. 3. `_EntityService:GetEntityByPath("/maps/map01")` 메서드를 호출하면 지정된 [original] | 커다란 맵을 만들었을 때는 맵 전체를 돌아보며 월드의 구성이 크리에이터가 생각한 바와 동일하게 만들어졌는지 확인이 필요합니다. Lua Executor를 활용해 테스트 플레이 중에 CameraComponent를 추가해 맵 전경을 확인할 수 있습니다. 1. **Workspace - MyDesk - Create Model**을 눌러 새로운 **transformonly** 모델을 생성합니다. 2. **TransformComponent**를 추가합니다. ![[object Object]](https://mod-file.dn.nexoncd [chunk_id] | Guides:1196:1

[task] | extract_knowledge [title] | Lua Executor [category] | Guides [rephrased] | # Lua Executor를 통한 인스턴스 룸 생성 및 엔티티 위치 디버깅 ## 1. 개념 설명 Lua Executor는 메이플스토리 월드(MSW) 편집기 환경에서 스크립트를 직접 실행하여 게임 로직을 테스트하거나 런타임 데이터를 조회하는 도구입니다. 이 도구를 사용하면 `RoomService`를 통해 임시 인스턴스 룸을 생성하고, 생성된 인스턴스 환경 내에서 `EntityService`를 사용하여 특정 엔티티의 상태(예: 위치)를 조회할 수 있습니다. 이는 맵 구성이 완료된 후 런타임 동작을 검증하는 데 사용됩니다. ## 2. [original] | Lua Executor에서 인스턴스 룸을 생성하고, 인스턴스 룸에서 특정 엔티티의 위치를 디버깅해볼 수 있습니다. 1. map02를 생성하고, 프로퍼티 창에서 MapComponent의 **InstanceMap**을 활성화합니다. 2. 맵에 디버깅 대상인 새로운 TestTarget 엔티티를 추가합니다. 3. 테스트 플레이를 시작합니다. 4. `CreateInstanceRoom()`을 활용해 임시로 인스턴스 룸을 만듭니다. 아래와 같이 작성하고 [실행]을 누릅니다. ```lua _RoomService:Cre [chunk_id] | Guides:1196:2

[task] | distill [title] | RateLimitService 활용하기 [category] | Guides [rephrased] | # RateLimitService 활용 가이드 **목적**: 맵 이동(텔레포트) 로직의 변조(함수 조작)를 방지하기 위해 `RateLimitService`로 호출 빈도를 제한합니다. **전제**: 맵 이동 후 다시 이동 가능 지점까지 걸리는 최소 시간(예: 3초)을 기준으로, 이를 위반한 이동 시도를 변조로 간주합니다. ## 1. InteractionEntity 구성 * **엔티티 생성**: `Map01` > `Create Empty`로 `InteractionEntity` 생성. * **컴포넌트 추가**: `Transfo [original] | 맵에 텔레포트를 위해 이동할 수 있는 **InteractionEntity**를 만들고, 타일에 도착 장소인 **Destination**을 배치합니다. 이 맵은 InteractionEntity를 통해 이동한 후, 다시 이동 가능 지점까지 걸리는 시간이 3초라고 가정합니다. 3초보다 빠르게 맵 이동을 시도한다면 이는 함수를 변조했다고 간주할 수 있습니다. 이러한 변조를 막기 위해 `RateLimitService`를 활용해 함수 사용을 제한하는 예제 월드를 만들어 봅시다. ![[object Object]](https://mod-file [chunk_id] | Guides:1197:1

[task] | knowledge_list [title] | RateLimitService 활용하기 [category] | Guides [rephrased] | 제시된 원문 문서에 포함된 핵심 사실과 API 정보를 바탕으로 추출한 목록입니다. ```lua [Guides] 기본 제작 가이드 > 보안 및 최적화 RateLimitService 활용하기 문서 기반 핵심 사실 목록: 1. 맵 이동용 InteractionEntity를 생성할 때 TransformComponent, SpriteRendererComponent, InteractionComponent 컴포넌트를 추가해야 합니다. 2. 텔레포트 로직을 처리하기 위한 TeleportComponent 스크립트를 생성하여 해당 Interacti [original] | 맵에 텔레포트를 위해 이동할 수 있는 **InteractionEntity**를 만들고, 타일에 도착 장소인 **Destination**을 배치합니다. 이 맵은 InteractionEntity를 통해 이동한 후, 다시 이동 가능 지점까지 걸리는 시간이 3초라고 가정합니다. 3초보다 빠르게 맵 이동을 시도한다면 이는 함수를 변조했다고 간주할 수 있습니다. 이러한 변조를 막기 위해 `RateLimitService`를 활용해 함수 사용을 제한하는 예제 월드를 만들어 봅시다. ![[object Object]](https://mod-file [chunk_id] | Guides:1197:1

[task] | extract_knowledge [title] | Command Console 명령어 [category] | Guides [rephrased] | # 메이커 Command Console 명령어: findcomponent 및 findproperty 메이커(Maker)의 Command Console은 하이어라키(Hierarchy) 내에서 특정 컴포넌트나 프로퍼티를 검색하기 위해 `findcomponent`와 `findproperty` 명령어를 제공합니다. 이 명령어들은 경로, 이름 매칭 방식, 비교 방식 등을 지정하여 정밀한 검색을 수행할 수 있으며, 결과를 콘솔에 표시하거나 파일로 출력할 수 있습니다. ## 1. findcomponent 하이어라키에 있는 특정 컴포넌트를 [original] | * **-path** 컴포넌트를 찾을 경로를 지정합니다. * path : 컴포넌트를 찾을 경로입니다. * **-enableonly**: Enable이 켜져있는 컴포넌트만 찾습니다. * **-name**: 지정한 이름이 포함된 컴포넌트를 찾습니다. * name: 찾을 이름입니다. * match_type: 이름을 찾는 방식입니다. contains, equals, regex 중 하나를 사용할 수 있습니다. * contains: 지정한 이름이 포함된 이름의 컴포넌트를 찾습니다. * equ [chunk_id] | Guides:1195:2

[task] | wikipedia [title] | RateLimitService 활용하기 [category] | Guides [rephrased] | **RateLimitService 활용하기** 본 가이드에서는 임의의 Destination 엔티티 위치로 즉시 이동할 수 있는 기능을 구현한 UI를 생성하고, 해당 기능의 남용을 방지하기 위해 `RateLimitService`를 적용하는 과정을 다룹니다. ### UI 및 컴포넌트 설정 먼저 이동 대상이 될 UI 버튼과 이를 제어할 스크립트 컴포넌트를 설정합니다. 1. **Hierarchy** 패널에서 **ui** > **DefaultGroup** 항목을 선택한 뒤, **Create Entity** > **Create But [original] | 언제든지 Destination 엔티티로 이동할 수 있는 UI를 만들어봅시다. 이 UI를 사용할 경우 사용량 제한에 걸리게 됩니다. 1. **Hierarchy - ui - DefaultGroup - Create Entity - Create Button**을 선택해 새로운 **UIButton**을 생성합니다. 2. 크기와 색상을 자유롭게 결정합니다. ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/bbs/173199759809163519c556d1f4457b5407341c986eeb7. [chunk_id] | Guides:1197:2

[task] | diverse_qa [title] | RateLimitService 활용하기 [category] | Guides [rephrased] | 질문: 이 가이드에서 만드는 UI의 주요 기능은 무엇인가요? 답변: 언제든지 지정된 Destination 엔티티의 위치로 플레이어를 이동시킬 수 있는 기능을 제공합니다. 질문: UIButton을 생성할 때 Hierarchy에서 어떤 경로를 따라가야 하나요? 답변: Hierarchy - ui - DefaultGroup - Create Entity - Create Button 경로를 선택해야 합니다. 질문: CheatingComponent를 생성할 때 Workspace에서 어떤 경로를 따라가야 하나요? 답변: Workspace - [original] | 언제든지 Destination 엔티티로 이동할 수 있는 UI를 만들어봅시다. 이 UI를 사용할 경우 사용량 제한에 걸리게 됩니다. 1. **Hierarchy - ui - DefaultGroup - Create Entity - Create Button**을 선택해 새로운 **UIButton**을 생성합니다. 2. 크기와 색상을 자유롭게 결정합니다. ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/bbs/173199759809163519c556d1f4457b5407341c986eeb7. [chunk_id] | Guides:1197:2

[task] | diverse_qa [title] | RateLimitService 활용하기 [category] | Guides [rephrased] | 질문: RateLimitService의 주요 목적은 무엇인가요? 답변: RateLimitService는 server 실행 함수의 사용량을 크리에이터가 설정한 값에 따라 제한하고, 유저가 제한된 함수를 다시 사용할 수 있을 때까지 필요한 대기 시간을 설정하여 월드 보안을 강화하기 위한 서비스입니다. 질문: RateLimitService로 사용량 제한을 설정할 수 있는 함수의 종류는 두 가지로, 각각 무엇인가요? 답변: Native API의 server 함수와 크리에이터가 제작한 server 함수입니다. 질문: RateLimitSe [original] | # 학습 과정 소개 유저의 server 함수 사용량을 제한하는 방법을 알아봅시다. ##### 참고 가이드 [패킷 변조 대비하기](https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1102) [월드 인스턴스](https://maplestoryworlds-creators.nexon.com/ko/docs?postId=984) [인스턴스 맵 만들기](https://maplestoryworlds-creators.nexon.com/ko/docs/?postId=540) # RateL [chunk_id] | Guides:1197:0

[task] | knowledge_list [title] | RateLimitService 활용하기 [category] | Guides [rephrased] | 제시된 문서 내용만을 기반으로 핵심 사실을 정리하면 다음과 같습니다. 1. `RateLimitService` 활용 가이드의 예시 시나리오는 `Destination` 엔티티의 위치로 이동하는 `UIButton` UI를 생성하고, 해당 UI 사용 시 사용량 제한이 적용되도록 구성하는 것입니다. 2. `UIButton` 컴포넌트는 Hierarchy의 `ui` > `DefaultGroup` 하위에서 `Create Entity` > `Create Button` 순서로 생성됩니다. 3. 이동 로직을 담당할 `CheatingComponent` [original] | 언제든지 Destination 엔티티로 이동할 수 있는 UI를 만들어봅시다. 이 UI를 사용할 경우 사용량 제한에 걸리게 됩니다. 1. **Hierarchy - ui - DefaultGroup - Create Entity - Create Button**을 선택해 새로운 **UIButton**을 생성합니다. 2. 크기와 색상을 자유롭게 결정합니다. ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/bbs/173199759809163519c556d1f4457b5407341c986eeb7. [chunk_id] | Guides:1197:2

[task] | distill [title] | RateLimitService 활용하기 [category] | Guides [rephrased] | # RateLimitService 활용 가이드 `RateLimitService`는 서버 함수 호출 빈도를 제한하여 성능 문제를 방지하는 서비스입니다. ## 1. 함수 호출 제한 설정 유저 입장 시 특정 컴포넌트 메서드의 호출 횟수를 제한합니다. **API**: `_RateLimitService:SetServerFunctionRateLimitForComponent(EntityId, ComponentName, FunctionName, MaxTokens, RefillRate)` - `MaxTokens`: 최대 동시 허용 토큰 수 - [original] | 유저가 입장하면 PlayerComponent의 `MoveToMapPosition()` 함수를 제한할 수 있도록 아래와 같이 작성합니다. 1. **Workspace - MyDesk - Create Scripts - Create Logic**을 선택해 **RateLimitLogic**을 생성합니다. 2. 유저가 월드에 입장하면 PlayerComponent의 `MoveToMapPosition()` 함수의 사용량을 제한하도록 `SetServerFunctionRateLimitForComponent()` 함수를 활용합니다. 토큰 수는 2, [chunk_id] | Guides:1197:3

[task] | diverse_qa [title] | RateLimitService 활용하기 [category] | Guides [rephrased] | 질문: RateLimitService를 활용하여 변조를 막기 위해 가정한 맵 이동 최소 소요 시간은 얼마인가요? 답변: 3초입니다. 질문: 맵 이동에 걸리는 시간(3초)보다 빠르게 맵 이동을 시도하는 행위는 어떻게 간주될 수 있나요? 답변: 함수를 변조했다고 간주할 수 있습니다. 질문: 텔레포트를 위해 이동할 수 있는 엔티티의 유형은 무엇인가요? 답변: InteractionEntity입니다. 질문: InteractionEntity에 추가해야 하는 기본 컴포넌트 세 가지의 이름은 무엇인가요? 답변: TransformCompone [original] | 맵에 텔레포트를 위해 이동할 수 있는 **InteractionEntity**를 만들고, 타일에 도착 장소인 **Destination**을 배치합니다. 이 맵은 InteractionEntity를 통해 이동한 후, 다시 이동 가능 지점까지 걸리는 시간이 3초라고 가정합니다. 3초보다 빠르게 맵 이동을 시도한다면 이는 함수를 변조했다고 간주할 수 있습니다. 이러한 변조를 막기 위해 `RateLimitService`를 활용해 함수 사용을 제한하는 예제 월드를 만들어 봅시다. ![[object Object]](https://mod-file [chunk_id] | Guides:1197:1

[task] | extract_knowledge [title] | RateLimitService 활용하기 [category] | Guides [rephrased] | # RateLimitService를 이용한 Server 함수 호출 제한 ## 1. 개념 설명 `RateLimitService`는 클라이언트가 서버에 직접 동작을 요청하는 server 실행 함수의 악용을 방지하기 위한 보안 메커니즘입니다. 패킷 변조나 반복 호출로 인한 월드 장애를 예방하기 위해, 특정 함수의 호출 빈도를 제한하고 제한 도달 시 필요한 대기 시간을 설정하는 역할을 합니다. 이 서비스로 제한할 수 있는 대상은 다음과 같습니다. * Native API의 server 함수 * 크리에이터가 제작한 server 함 [original] | # 학습 과정 소개 유저의 server 함수 사용량을 제한하는 방법을 알아봅시다. ##### 참고 가이드 [패킷 변조 대비하기](https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1102) [월드 인스턴스](https://maplestoryworlds-creators.nexon.com/ko/docs?postId=984) [인스턴스 맵 만들기](https://maplestoryworlds-creators.nexon.com/ko/docs/?postId=540) # RateL [chunk_id] | Guides:1197:0

[task] | distill [title] | VS Code: mLua Extension [category] | Guides [rephrased] | # mLua VS Code Extension LocalWorkspace 및 ExtendedScriptFormat 기반 스크립트 작성을 지원하는 VS Code 확장 프로그램입니다. ## 주요 특징 및 주의사항 * **글로벌 변수 지원**: MSW 메이커 스크립트 에디터와 달리 글로벌 변수 선언이 가능합니다. * **경고 없음**: MSW 메이커 스크립트 에디터와 달리 컴파일/실행 시 경고가 표시되지 않습니다. * **디버깅**: 현재 미지원, 추후 추가 예정. ## 설정 및 사용 1. VS Code 설치 및 mLua [original] | # 학습 과정 소개 LocalWorkspace와 ExtendedScriptFormat을 사용하는 크리에이터는 메이플스토리 월드에서 제공하는 mLua VS Code Extension을 활용하여 스크립트를 효율적으로 작성할 수 있습니다. ##### 참고 가이드 [LocalWorkspace](/docs/?postId=1165) [ExtendedScriptFormat](/docs/?postId=1166) [mLua](/docs?postId=1287) [공동 제작](/docs/?postId=670) # mLua VS Code Exten [chunk_id] | Guides:1209:0

[task] | wikipedia [title] | RateLimitService 활용하기 [category] | Guides [rephrased] | **RateLimitService 활용하기** 본 가이드는 맵 텔레포트 기능에서 발생할 수 있는 변조 행위를 방지하기 위해 `RateLimitService`를 활용하는 방법을 소개합니다. 기본 시나리오는 맵 내에 이동 대상이 되는 `InteractionEntity`와 도착 지점인 `Destination` 엔티티를 배치하여, 상호작용을 통해 플레이어를 다른 위치로 이동시키는 구조입니다. 보안 관점의 핵심 전제는 정상적인 이동 경로에서의 소요 시간입니다. 가정한 시나리오에서 `InteractionEntity`를 통해 맵 이동이 완료 [original] | 맵에 텔레포트를 위해 이동할 수 있는 **InteractionEntity**를 만들고, 타일에 도착 장소인 **Destination**을 배치합니다. 이 맵은 InteractionEntity를 통해 이동한 후, 다시 이동 가능 지점까지 걸리는 시간이 3초라고 가정합니다. 3초보다 빠르게 맵 이동을 시도한다면 이는 함수를 변조했다고 간주할 수 있습니다. 이러한 변조를 막기 위해 `RateLimitService`를 활용해 함수 사용을 제한하는 예제 월드를 만들어 봅시다. ![[object Object]](https://mod-file [chunk_id] | Guides:1197:1

[task] | extract_knowledge [title] | RateLimitService 활용하기 [category] | Guides [rephrased] | # RateLimitService 활용: UI 기반 이동 제한 ## 개념 설명 `RateLimitService`는 특정 액션(예: 텔레포트, 아이템 획득 등)이 과도하게 반복 호출되는 것을 방지하기 위한 사용량 제한(rate limiting) 기능을 제공하는 서비스입니다. 본 절에서는 버튼 클릭 시 특정 좌표로 이동하는 기능을 구현한 뒤, 해당 이동 로직이 `RateLimitService`의 사용량 제한에 걸리는 방식을 설명합니다. ## API 사용법 ### 1. 프로퍼티 정의 (Property) 이동 목적지를 지정하기 위해 [original] | 언제든지 Destination 엔티티로 이동할 수 있는 UI를 만들어봅시다. 이 UI를 사용할 경우 사용량 제한에 걸리게 됩니다. 1. **Hierarchy - ui - DefaultGroup - Create Entity - Create Button**을 선택해 새로운 **UIButton**을 생성합니다. 2. 크기와 색상을 자유롭게 결정합니다. ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/bbs/173199759809163519c556d1f4457b5407341c986eeb7. [chunk_id] | Guides:1197:2

[task] | distill [title] | VS Code: mLua Extension [category] | Guides [rephrased] | # 메이커 사용 VS Code: mLua Extension mLua Extension은 스크립트 작성 시 심볼 추론 기반 자동 완성, 엔티티 ID 탐색, 코드 스니펫, 진단, 커밋 캐릭터 지원, 코드 폴딩 기능을 제공합니다. ## Entity Id Completion 엔티티 경로를 기반으로 엔티티 ID를 자동 완성합니다. 후보 선택 시 Entity Id로 치환되며, 인레이 힌트로 엔티티 이름을 확인할 수 있습니다. * **타입 기반 필터링**: 프로퍼티 타입에 따라 해당 컴포넌트를 가진 엔티티만 후보로 제시합니다. (예: ` [original] | 스크립트 작성 시 특정 스크립트에 사용 가능한 심볼을 추론하고, 자동 완성을 제공합니다. 인덱싱할 때도 해당 심볼로부터 접근 가능한 멤버를 추론하고, 자동 완성을 제공합니다. ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/bbs/173925981885800cc64e8e22a4c6bab618d241f270495.png{"width":"430px"} "123") #### Entity Id Completion 엔티티 경로를 이용해서 엔티티의 Id를 쉽게 찾을 수 있습니다. Compl [chunk_id] | Guides:1209:1

[task] | wikipedia [title] | RateLimitService 활용하기 [category] | Guides [rephrased] | # RateLimitService 활용 가이드 본 문서는 메이플스토리 월드(MapleStory Worlds) 스크립트 언어 mLua 환경에서 `RateLimitService`를 사용하여 서버 함수의 호출 빈도를 제한하고 월드 보안을 강화하는 방법에 대해 설명합니다. ## 개요 및 보안 필요성 서버 실행 함수(`[server]` 또는 `[server only]` 함수)는 클라이언트가 서버에 직접 특정 동작을 요청하도록 설계되어 있습니다. 이러한 구조는 악의적인 사용자가 네트워크 패킷을 변조하거나 동일한 함수를 짧은 시간 내에 반 [original] | # 학습 과정 소개 유저의 server 함수 사용량을 제한하는 방법을 알아봅시다. ##### 참고 가이드 [패킷 변조 대비하기](https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1102) [월드 인스턴스](https://maplestoryworlds-creators.nexon.com/ko/docs?postId=984) [인스턴스 맵 만들기](https://maplestoryworlds-creators.nexon.com/ko/docs/?postId=540) # RateL [chunk_id] | Guides:1197:0

[task] | diverse_qa [title] | VS Code: mLua Extension [category] | Guides [rephrased] | 질문: mLua Extension의 자동 완성 기능은 어떤 원리로 작동하나요? 답변: 특정 스크립트에 사용 가능한 심볼을 추론하여 자동 완성을 제공하며, 인덱싱 시 해당 심볼로부터 접근 가능한 멤버를 추론하여 자동 완성을 제공합니다. 질문: Entity Id Completion 기능을 사용하면 어떤 이점이 있나요? 답변: 엔티티 경로를 이용하여 엔티티의 Id를 쉽게 찾을 수 있으며, Completion에서 제공한 후보 중 하나를 선택하면 Entity Id로 자동으로 치환됩니다. 또한 인레이 힌트를 통해 엔티티의 이름을 확인하여 식 [original] | 스크립트 작성 시 특정 스크립트에 사용 가능한 심볼을 추론하고, 자동 완성을 제공합니다. 인덱싱할 때도 해당 심볼로부터 접근 가능한 멤버를 추론하고, 자동 완성을 제공합니다. ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/bbs/173925981885800cc64e8e22a4c6bab618d241f270495.png{"width":"430px"} "123") #### Entity Id Completion 엔티티 경로를 이용해서 엔티티의 Id를 쉽게 찾을 수 있습니다. Compl [chunk_id] | Guides:1209:1

[task] | knowledge_list [title] | VS Code: mLua Extension [category] | Guides [rephrased] | 제시된 문서의 내용을 바탕으로 mLua VS Code Extension에 대한 핵심 사실을 정리한 목록입니다. * mLua VS Code Extension은 LocalWorkspace와 ExtendedScriptFormat을 사용하는 크리에이터가 VS Code에서 mLua 스크립트를 작성할 때 효율성을 높이기 위해 제공되는 확장 프로그램입니다. * mLua VS Code Extension은 글로벌 변수 선언을 지원하며, 메이플스토리 월드 메이커의 스크립트 에디터와 달리 경고가 표시되지 않는 특징이 있습니다. * mLua [original] | # 학습 과정 소개 LocalWorkspace와 ExtendedScriptFormat을 사용하는 크리에이터는 메이플스토리 월드에서 제공하는 mLua VS Code Extension을 활용하여 스크립트를 효율적으로 작성할 수 있습니다. ##### 참고 가이드 [LocalWorkspace](/docs/?postId=1165) [ExtendedScriptFormat](/docs/?postId=1166) [mLua](/docs?postId=1287) [공동 제작](/docs/?postId=670) # mLua VS Code Exten [chunk_id] | Guides:1209:0

[task] | knowledge_list [title] | RateLimitService 활용하기 [category] | Guides [rephrased] | 1. `RateLimitService`의 `SetServerFunctionRateLimitForComponent()` 함수는 서버 공간에서 호출되며, 특정 엔티티의 특정 컴포넌트 함수에 대한 호출 빈도를 제한하기 위해 사용됩니다. 2. `SetServerFunctionRateLimitForComponent()` 함수의 매개변수는 `(EntityId, string ComponentName, string FunctionName, number MaxTokens, number TokensPerSecond)` 순서로 전달되며, 매개변수 값의 [original] | 유저가 입장하면 PlayerComponent의 `MoveToMapPosition()` 함수를 제한할 수 있도록 아래와 같이 작성합니다. 1. **Workspace - MyDesk - Create Scripts - Create Logic**을 선택해 **RateLimitLogic**을 생성합니다. 2. 유저가 월드에 입장하면 PlayerComponent의 `MoveToMapPosition()` 함수의 사용량을 제한하도록 `SetServerFunctionRateLimitForComponent()` 함수를 활용합니다. 토큰 수는 2, [chunk_id] | Guides:1197:3

[task] | wikipedia [title] | RateLimitService 활용하기 [category] | Guides [rephrased] | # RateLimitService 활용하기 메이플스토리 월드(MapleStory Worlds)에서는 `RateLimitService`를 활용하여 특정 스크립트 함수의 호출 빈도를 제한함으로써, 과도한 요청으로 인한 서버 부하를 방지하고 안정적인 게임 환경을 유지할 수 있습니다. 본 가이드는 유저가 월드에 입장할 때 `PlayerComponent`의 `MoveToMapPosition()` 함수 호출을 제한하는 절차를 설명합니다. ## 구성 및 설정 RateLimitService를 활용하기 위해서는 먼저 로직 스크립트를 생성해야 [original] | 유저가 입장하면 PlayerComponent의 `MoveToMapPosition()` 함수를 제한할 수 있도록 아래와 같이 작성합니다. 1. **Workspace - MyDesk - Create Scripts - Create Logic**을 선택해 **RateLimitLogic**을 생성합니다. 2. 유저가 월드에 입장하면 PlayerComponent의 `MoveToMapPosition()` 함수의 사용량을 제한하도록 `SetServerFunctionRateLimitForComponent()` 함수를 활용합니다. 토큰 수는 2, [chunk_id] | Guides:1197:3

[task] | knowledge_list [title] | VS Code: mLua Extension [category] | Guides [rephrased] | 제시된 원문에 포함된 정보만을 바탕으로 mLua Extension의 핵심 기능을 정리한 목록입니다. * **mLua Extension**은 스크립트 작성 시 현재 스크립트에서 사용 가능한 심볼을 추론하여 자동 완성을 제공하며, 인덱싱 과정에서도 해당 심볼로부터 접근 가능한 멤버를 추론하여 자동 완성을 제공합니다. * **Entity Id Completion** 기능은 엔티티 경로를 기반으로 엔티티의 Id를 쉽게 찾을 수 있게 하며, Completion에서 엔티티 후보를 선택하면 해당 Entity Id로 자동 치환됩니다. * [original] | 스크립트 작성 시 특정 스크립트에 사용 가능한 심볼을 추론하고, 자동 완성을 제공합니다. 인덱싱할 때도 해당 심볼로부터 접근 가능한 멤버를 추론하고, 자동 완성을 제공합니다. ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/bbs/173925981885800cc64e8e22a4c6bab618d241f270495.png{"width":"430px"} "123") #### Entity Id Completion 엔티티 경로를 이용해서 엔티티의 Id를 쉽게 찾을 수 있습니다. Compl [chunk_id] | Guides:1209:1

[task] | distill [title] | VS Code: mLua Extension [category] | Guides [rephrased] | # 메이커 사용 VS Code: mLua Extension ## 토큰 색상 커스터마이징 `Inspect Editor Tokens and Scopes`의 **foreground scope** 값을 변경하여 특정 심볼 색상 및 글꼴 스타일을 수정합니다. **요구 사항** * 로컬 워크스페이스에서 프로젝트 폴더 내 `.vscode` 하위에 `settings.json` 파일이 존재해야 합니다. (파일명이 정확히 `settings.json`이어야 적용됨) **설정 예시** ```lua { "editor.tokenColorCu [original] | **Inspect Editor Tokens and Scopes**의 **foreground scope**값을 변경해 특정 심볼의 색상을 변경할 수 있습니다. 로컬 워크스페이스를 통해 로컬로 **다운 받은 프로젝트 폴더 - .vscode폴더** 하위에 **settings.json**파일을 생성해야만 색상 변경 기능을 사용할 수 있습니다. **settings.json** 파일 생성 방법은 [LocalWorkspace](/docs?postId=1165)가이드를 참고합니다. 1. VS Code에서 **Ctrl + Shift + P**를 [chunk_id] | Guides:1209:2

[task] | wikipedia [title] | VS Code: mLua Extension [category] | Guides [rephrased] | # 메이커 사용 VS Code: mLua Extension 메이플스토리 월드 스크립트 작성 시 VS Code에서 사용할 수 있는 **mLua Extension**은 개발 생산성을 높이기 위한 여러 기능을 제공합니다. 이 확장 프로그램은 현재 작성 중인 스크립트 컨텍스트에 따라 사용 가능한 심볼(Symbol)을 추론하여 자동 완성(Auto-completion)을 지원합니다. 또한 인덱싱 과정에서도 해당 심볼로부터 접근 가능한 멤버를 분석하여 정밀한 자동 완성 기능을 제공합니다. ## 엔티티 ID 자동 완성 (Entity ID Co [original] | 스크립트 작성 시 특정 스크립트에 사용 가능한 심볼을 추론하고, 자동 완성을 제공합니다. 인덱싱할 때도 해당 심볼로부터 접근 가능한 멤버를 추론하고, 자동 완성을 제공합니다. ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/bbs/173925981885800cc64e8e22a4c6bab618d241f270495.png{"width":"430px"} "123") #### Entity Id Completion 엔티티 경로를 이용해서 엔티티의 Id를 쉽게 찾을 수 있습니다. Compl [chunk_id] | Guides:1209:1

[task] | extract_knowledge [title] | VS Code: mLua Extension [category] | Guides [rephrased] | # mLua VS Code Extension ## 1. 개념 설명 `mLua VS Code Extension`은 `LocalWorkspace` 및 `ExtendedScriptFormat`을 사용하는 크리에이터가 `mLua` 스크립트를 VS Code에서 효율적으로 작성할 수 있도록 지원하는 확장 프로그램입니다. 이 확장 프로그램은 MSW 메이커의 내장 스크립트 에디터와 달리 **글로벌 변수 선언**을 지원하며, 편집 중 **경고 메시지**가 표시되지 않는 특징이 있습니다. 또한, 코드 작성 및 유지보수를 위한 다양한 언어 서버 기반 [original] | # 학습 과정 소개 LocalWorkspace와 ExtendedScriptFormat을 사용하는 크리에이터는 메이플스토리 월드에서 제공하는 mLua VS Code Extension을 활용하여 스크립트를 효율적으로 작성할 수 있습니다. ##### 참고 가이드 [LocalWorkspace](/docs/?postId=1165) [ExtendedScriptFormat](/docs/?postId=1166) [mLua](/docs?postId=1287) [공동 제작](/docs/?postId=670) # mLua VS Code Exten [chunk_id] | Guides:1209:0

[task] | extract_knowledge [title] | Lua Executor [category] | Guides [rephrased] | # 1. Lua Executor 활용 가이드 ## 1.1 개념 설명 `Lua Executor`는 메이플스토리 월드(MS World)의 크리에이터가 테스트 플레이 중에 실시간으로 스크립트를 실행하여 월드의 상태를 확인하거나 디버깅하는 도구입니다. 크게 두 가지 용도로 사용됩니다. 1. **맵 전경 확인 (Camera Debugging):** 대형 맵 제작 시, 플레이어 시점(Camera)을 제어하여 맵 구성이 의도대로 구현되었는지 시각적으로 검증합니다. 2. **서버 값 확인 및 몬스터 소환:** 특정 엔티티의 서버 사이드 [original] | 커다란 맵을 만들었을 때는 맵 전체를 돌아보며 월드의 구성이 크리에이터가 생각한 바와 동일하게 만들어졌는지 확인이 필요합니다. Lua Executor를 활용해 테스트 플레이 중에 CameraComponent를 추가해 맵 전경을 확인할 수 있습니다. 1. **Workspace - MyDesk - Create Model**을 눌러 새로운 **transformonly** 모델을 생성합니다. 2. **TransformComponent**를 추가합니다. ![[object Object]](https://mod-file.dn.nexoncd [chunk_id] | Guides:1196:1

← → 방향키로 페이지 이동 · 숫자 입력 후 Enter로 점프