디센트럴랜드 사용자 차단이란

 

디센트럴랜드 토지 소유자는 메타버스에서 제공하는 모든 사용 권한을 가지고 있습니다.

대표적인 권한은 1. 객체 상호작용 권한, 2. 유저 인터페이스 권한입니다.

 

위 두 가지 권한을 통해서 본인 소유 토지에서 미니 게임 등 특정 서비스를 제공할 시 접속 유저에 대한 사용을 제한할 수 있습니다. 주로 메타버스에서 차단당하는 유저는 부적절한 아이디를 사용하는 자, 욕설 등 부적절한 행동을 하는 사람, 매크로 등을 사용하는 불법 유저 등이 될 것입니다.

 

 

 

 

본인의 경우는 주로 매크로 사용유저로 분류되어 사용자 차단을 당하게 되었습니다. 매크로 사용이 해당 서비스 이용에 정당한 행위가 아님을 인정하기 때문에,  차단 해지 요청 등을 별도로 하지 않고 있습니다만, 만약 내가 디센트럴랜드에서 서비스를 만들게 된다면 어떤 식으로 불법 사용 유저를 관리할지에 대한 생각으로 개발 API를 분석하게 되었습니다.

 

차단 당한 이용자 화면
차단 당한 이용자 인터페이스

* WONDER MINE 게임 유저 차단 시 현상

- 모든 원더 코인과 보석이 사라졌다.

- 게임 레벨이 1로 초기화되었다.(랭커였는데 ㅠ.ㅠ)

- 메테오, 아이템 제작 슬롯머신, 사용자 순위 전광판 등 객체와 상호작용이 안된다. 

 

 

 

디센트럴랜드 사용자 차단 방법

 

우선 디센트럴랜드 개발 문서로 이동합니다. https://docs.decentraland.org/creator/development-guide

제공되는 API를 참고하여 사용자 차단 계획을 수립합니다.

 

(1) 가져올 수 있는 사용자 데이터 종류 파악

1. 사용자 이름

2. 유저 ID

3. 메타마스크 이더리움 지갑 주소

4. 메타마스크 이더리움 지갑 주소 보유 여부

5. 아바타 외모

6. 사용자 설정 변경 횟수

 

(2) 객체와의 상호작용 시 이벤트 제어

- 기본 API에서 제공하는 인지 가능한 이벤트 종류

1. 마우스 왼쪽 버튼

2. 키보드 "E" 버튼

3. 키보드 "F" 버튼

 

(3) 사용자가 토지로 입장하거나 퇴장했을 시 인터페이스 및 이벤트 제어

1. 특정 토지 구획으로 들어갈 때

2. 특정 토지 구획에서 나갈 때

3. 특정 토지 구획으로 순간 이동할 때

4. 특정 토지 구획 밖으로 순간 이동할 때

 

 

 

 

WONDER MINE 유저 차단 코드 예상

 

차단당한 유저에게 발생하는 현상과 위의 API의 종류의 조합으로 보았을 때 WONDER MINE 서비스 개발자는 유저 ID와 이더리움 지갑 주소로 블랙리스트를 별도로 관리하고 있는 것으로 추정된다. 그리고 그 블랙리스트에 등록된 유저는 해당 토지 구획 내에서 제공하는 객체와 인터페이스의 사용을 제한당함을 알 수 있다.

 

근데... IP로는 제한을 못하네...?

 

끝.

Decentraland WonderMine 

 

탈중앙 메타버스 대표주자 중 하나인 디센트럴랜드에서 가장 인기 있는 콘텐츠는 메테오 채굴이다. 채굴을 통해 모이는 보석을 조합하여 게임 내 의상 NFT를 소액의 ETH, POLYGON 계약 수수료만으로 만들 수 있다. 아이템을 착용하면 채굴 능력이 향상되기 때문에. 해당 게임 콘텐츠 고정 소비자들은 점점 늘어나가고 있는 추세이다. 

 

메타버스 붐이 일어난 후인 지금에서야 한 렐름(서버와 동일한 개념)에서 수십수백의 플레이어들이 있지만 과거에는 한 렐름에 10명도 접속하지 않던 서비스였다. 나는 무료로 NFT를 만들 수 있다는 아이디어에 착안하여 이것을 NFT채굴이라 부르고 대량의 PC에서 대량의 계정을 직접 작성한 매크로 프로그램을 수행하여 매우 많은 NFT를 보유할 수 있었다.

 

 

 

 

매크로 채굴 작업 방법

 

(1) 매크로 작성 프로그램 선정

우선 매크로 기본 프로그램으로 "Pulover's Macro Creator"을 선정하였다. 사무 자동화를 위한 매크로 작성 프로그램들이 많지만 해당 프로그램만큼 API 설명이 친절한 곳이 없어 프로그램 작성 시간을 단축시키기 위해 사용하였다.

 

(2) 매크로 작성 방향 분석

 

1. 디센트럴랜드라는 메타버스 서비스 특징 파악해야 한다.

메타버스의 첫번째 특징은 좌표로 캐릭터가 이동하는 방식이다. 그렇기 때문에. 특정 좌표로의 도착 혹은 특정 동작을 끝낸 후에 원하는 좌표로 이동할 수 있다. 캐릭터 이동 거리 대비 소요 시간의 파악도 필요하다.

 

웹서비스로 구동하는 이상 밀리컨 드 당 처리 프레임은 접속한 네트워크와 PC의 성능에 따라 다를 수밖에 없다. 즉 PC를 5대 운용한다면 같은 스펙의 PC로 세팅하고 같은 네트워크 속도로 분리하여야 한다. 또한 디센트럴랜드 렐름마다의 속도 차이가 있다. 접속 렐름마다 매크로 처리 속도의 조정이 필요하다.

 

2. 메테오 채굴이라는 토지 구역의 특징을 파악해야 한다.

직사각형의 토지 모형이고 지형의 대체로 평지이나 언덕이나 동상 등 시설물이 존재하고 울타리가 존재하지만 출입구가 존재한다. 특히 출입구를 벗어날 시 다른 토지의 서비스로 연동되어 새로운 화면 렌더링이 발생하는 데 이는 예상치 못한 매크로 움직임을 발생시킨다. 이 때문에 매크로의 시작과 종료 시점이 반드시 필요하다. 

 

3. 메테오 채굴이라는 게임의 특징을 이해해야 한다.

채굴할 수 있는 메테오는 랜덤한 시간에 하늘에서 땅으로 떨어지게 되고 마우스를 클릭하면 채굴 액션이 발생하며 일정 시간이 지난 후 채굴이 완료된다. 채굴 액션 중에 다른 메테오를 추가적으로 채굴할 수 없다. 하루에 20번씩 무료로 채굴할 수 있는 게임 내 자체 코인이 15분마다 1 코인씩 지급된다. 

 

 

 

 

(3) 매크로 작성 Sample

 

A. 메타마스크 접속 매크로 코드 작성.

B. 디센트럴랜드 접속 코드 작성.

C. WonderMine 좌표 이동 코드 작성.

D. 동작 시작 좌표 저장

E. 채굴 동작 수행

- "ㄹ"자 모양으로 직사각형의 토지를 3바퀴 돈다.

- 3초에 한번씩 클릭을 수행한다.

- 플레이어를 잘못 클릭했을 시 즉시 다른 공간을 클릭하여 유저 정보란에서 빠져나온다.

- 플레이어가 많을 시 이미지 서칭 매크로를 추가하여 클릭 정밀도를 올린다.

F. 채굴 동작 정지

G. 첫 동작 시작 좌표로 이동

H. "A" ~ "G"  지정된 반복횟수 수행

 

+ 만약 1개 PC에서 40캐릭터를 하루에 돌리고 싶다면 "A" ~ "H" 수행 후 다음 메타마스크 계정으로 넘어가는 코드 작성.

 

(4) 샘플 코드

 

채굴 매크로 샘플 코드
채굴 매크로 샘플 코드

 

(5) WonderMine 채굴 매크로 실제 수행 화면

 

매크로 채굴 대기 중인 캐릭터
매크로 채굴 대기 중인 캐릭터

 

 

 

끝.

+ Recent posts