# LinClient

LinClient는 웹 기반의 맵 데이터 시각화 및 관리 시스템입니다.

## 주요 기능

1. **맵 데이터 시각화**
   - 2D 맵 렌더링
   - 지형 데이터 표시
   - 이동 가능 영역 표시

2. **실시간 채팅**
   - 일반 채팅
   - 귓속말
   - 외치기
   - 시스템 메시지

3. **인벤토리 시스템**
   - 아이템 추가/삭제
   - 아이템 정보 관리
   - 수량 관리

## 시스템 구성

- **프론트엔드**: HTML5, CSS3, JavaScript
- **백엔드**: Node.js, Express
- **서버**: Apache 2.4

## 파일 구조
```
C:\Apache24\htdocs\
├── js\              # 서버 및 코어 로직
│   ├── server.js    # Node.js 서버
│   ├── MapData.js   # 맵 데이터 처리
│   └── ...
├── html\            # 웹 페이지 파일
│   ├── LinClient.html
│   └── ...
└── setup\           # 설치 및 설정 파일
    ├── setup.bat
    └── ...
```

## 시작하기

1. 설치
   - 자세한 설치 방법은 [setup/README.md](setup/README.md) 참조

2. 실행
   - Apache 서버 시작
   - `http://localhost/html/LinClient.html` 접속

## 개발 환경 설정

1. 필수 요구사항
   - Node.js (LTS 버전)
   - Apache 2.4 이상
   - Windows OS

2. 개발 모드 실행
   ```bash
   cd js
   node server.js
   ```

## 주요 API

### 맵 데이터 API
- `GET /getMapData`: 현재 맵 데이터 조회
- `POST /uploadMap`: 새로운 맵 데이터 업로드

### 채팅 시스템
- 일반 채팅: 모든 사용자에게 메시지 전송
- 귓속말: `/w 사용자명 메시지` 형식으로 특정 사용자에게 전송
- 외치기: `/s 메시지` 형식으로 전체 공지

### 인벤토리 관리
- 아이템 추가: ID, 이름, 수량 지정
- 아이템 삭제: ID 기반 삭제
- 수량 수정: 개별 아이템 수량 조정

## 문제 해결

일반적인 문제 해결 방법은 [문제 해결 가이드](setup/README.md#문제-해결) 참조

## 라이선스

이 프로젝트는 비공개 소프트웨어입니다. 