devplorer란
devplorer는 실행 중인 Roblox 서버에서 Explorer, Properties, Output을 보여 주는 개발자용 도구입니다. 서버와 클라이언트를 모두 확인할 수 있습니다.
왜 만들었나요
섹션 제목: “왜 만들었나요”프로덕션에서 에러가 났는데 그 순간의 상태를 알 수 없어 재현하지 못하는 일이 반복되었습니다. 서버의 Explorer와 Properties를 확인해야 했지만 볼 방법이 없었습니다.
특히 StreamingEnabled가 켜진 게임에서는 인스턴스가 클라이언트에 오지 않아서 문제가 생겼는지 확인해야 할 때가 많습니다. devplorer는 서버 트리를 보여 주면서, 클라이언트에 아직 오지 않은 인스턴스를 구분해서 표시합니다.
누가 쓰나요
섹션 제목: “누가 쓰나요”이 도구의 사용자는 두 부류입니다.
- 이미 서버에서 코드를 실행할 수 있는 개발자: 게임에 devplorer를 설치하고 권한을 나눠 줍니다.
- 개발자에게 권한을 받은 QA 담당자 분과 플레이 테스터 분: 개발자가 부탁한 확인 코드를 F9 패널 없이 실행하고 출력을 확인할 수 있습니다.
권한은 세 단계 레벨(Tester, MainTester, Developer)로 나뉩니다.
자세한 내용은 권한과 레벨에서 다룹니다.
무엇을 볼 수 있나요
섹션 제목: “무엇을 볼 수 있나요”| 기능 | 설명 | 페이지 |
|---|---|---|
| Explorer | 클라이언트 트리와 서버 트리를 전환해서 볼 수 있습니다. 서버 트리에서는 클라이언트에 없는 인스턴스가 따로 표시됩니다. | Explorer |
| Properties | 선택한 인스턴스의 속성, 특성, 태그를 확인하고, 권한이 있으면 수정할 수 있습니다. | Properties |
| Output | 서버와 클라이언트의 출력을 한 창에서 필터링해 볼 수 있습니다. | Output |
| Inspect | 서버 수치의 기록, Remote와 Bindable 호출 확인 등을 모은 창입니다. | Inspect |
| 명령 팔레트 | 게임에 등록된 디버그 액션을 양식을 채워 실행할 수 있습니다. | 명령 팔레트 |
| Interpreter | 게임에서 켠 경우에 한해, 서버나 클라이언트에서 짧은 코드를 실행할 수 있습니다. | Interpreter |
북마크와 리포트 같은 보조 기능은 처음 열었을 때에서 소개합니다.
하지 않는 일
섹션 제목: “하지 않는 일”devplorer는 익스플로잇 도구로 작동하지 않도록 만들어졌습니다.
- 권한은 서버에서만 부여합니다. 클라이언트가 스스로 권한을 얻거나 창을 여는 경로는 없습니다.
- 권한이 없는 클라이언트에는 도구 코드도, 도구가 쓰는 원격 객체도 없습니다. 서버가 창을 열어 줄 때만 해당 플레이어의 PlayerGui에 복제됩니다.
- 서버가 요청마다 권한을 다시 검사합니다.
- 실행기 전용 API를 쓰지 않고, 외부 HTTP도 호출하지 않습니다.
loadstring을 켜지 않습니다. 인터프리터는 게임이 컴파일러를 직접 넘긴 경우에만 켜집니다.
자세한 내용은 보안 모델에 정리되어 있습니다.