프로젝트 소개
MegaMOO는 LambdaMOO를 모델로 한, 처음부터 작성된 다중 사용자 영속 텍스트 가상 세계 엔진입니다. Python 3.10 이상이 필요하며 표준 라이브러리만 사용합니다. 월드는 `megamoo init`으로 생성하고 `megamoo --dev`로 실행하며, 6770 포트에서 Telnet을 제공하고 브라우저 URL을 출력합니다. 인월드 프로그래밍은 Python 자체를 사용합니다. 예를 들어 `verbs/17/jump.py`와 같은 각 verb는 주입된 컨텍스트(`pobj`, `args`, `dobj`, `iobj`, `pmatch`, `call_verb` 등)를 갖는 Python 파일이며, 편집 내용은 재시작 없이 실시간으로 반영됩니다. 엔진에는 Telnet/WebSocket 및 MUD 프로토콜(MXP, GMCP, MSDP, MSSP)을 지원하는 asyncio 서버 코어, 지연 객체 캐시를 갖춘 SQLite WAL 영속성, LambdaMOO 스타일 단일 부모 상속, 관사/서수/형용사-명사/전치사를 지원하는 자연어 매처, 시간 효과, 일시 중단/포크 보호가 있는 관리형 작업, 성별 인식 emit 치환 엔진이 포함됩니다. `@import`는 LambdaMOO 데이터베이스 형식 1~4를 읽어 객체/계층/속성을 보존하고 이전 verb 코드를 이식을 위해 비활성 상태로 저장합니다. README에는 312개의 시작 verb가 문서화되어 있으며 그중 228개는 입력 가능합니다. 보안 경계는 명시적입니다. verb 생성/eval은 gm3로 제한되며, gm3 보유자는 서버 프로세스로 임의의 Python을 실행할 수 있습니다. 이 프로젝트는 게임 명령, 객체/verb/속성 검사 및 편집, eval, 검색, 로그, 서버 상태를 위한 17가지 도구를 노출하는 MCP 브리지(`tools/megamoo_mcp.py`)도 함께 제공합니다. 접근성이 내장되어 있으며, 플레이어별 화면 읽기 모드, ANSI 인식 줄바꿈, 선택적으로 비활성화할 수 있는 줄바꿈이 포함됩니다. 이 프로젝트는 MIT 라이선스이며 활발히 개발 중입니다. README에는 아직 공개 다중 사용자 배포가 이루어지지 않았다고 명시되어 있습니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.