Commit graph

24 commits

Author SHA1 Message Date
210740f278 fix: docker-compose 실행 시 호스트 경로 사용
- 컨테이너 내부 경로와 호스트 경로 분리
- docker compose 명령은 호스트 경로로 실행
- 상대 경로 volumes이 올바르게 작동하도록 수정
2025-12-29 13:53:12 +09:00
7ef99dabdc feat: 서버 시작/종료 기능 구현
- Docker 소켓 마운트로 컨테이너 제어
- 백엔드 API: 서버 목록 조회, 시작, 종료
- 프론트엔드: API 연동, 시작/종료 다이얼로그
- 실행 중일 때 다른 서버 선택 비활성화
- 로딩 상태 표시 및 에러 처리
2025-12-29 13:43:43 +09:00
15709c4fb8 feat: 아이콘/번역 삭제 시 S3 파일도 삭제, UI 용어 통일
- S3 deleteFromS3, deleteByPrefix 함수 추가
- 아이콘 삭제 시 S3 파일도 삭제
- 번역 삭제 시 아이콘(S3 파일)도 함께 삭제
- 다이얼로그 '초기화' → '삭제'로 용어 통일
- 토스트 메시지 개선
2025-12-26 20:14:43 +09:00
7c2b887884 feat: 아이콘 업로드 개선 - 여러 모드 동시 지원, 사전 검증
- 여러 ZIP 파일 동시 업로드 지원
- 번역본이 없는 모드는 에러로 거부
- input multiple 속성 추가
- 결과/에러 정보 개선
2025-12-26 19:59:08 +09:00
10c27eecba feat: blocks/items 테이블 통합 및 아이콘 시스템 개선
- blocks 테이블을 items 테이블로 통합 (type 컬럼 추가)
- 아이콘 조회 시 DB에서 먼저 검색하여 모드 아이템 지원
- S3 경로 통일: icons/items/<modid>_<name>.png
- 번역 업로드/삭제 API 수정
- 번역 캐시 로드 로직 수정
2025-12-26 19:52:35 +09:00
9ff2dd957c feat: 번역 필터링 및 UI 개선
- 번역 저장 시 .이 포함된 이름 필터링 (tooltip 등 제외)
- 모드 번역 제목 옆 개수 표시 제거
- 모드팩 페이지 PC 다운로드 버튼 위치 변경 (버전 라인 오른쪽)
2025-12-26 17:50:10 +09:00
01aa85f041 feat: 모드 번역 UI 개선 및 플레이어 통계 아이콘 추가
- Admin.jsx: 모드 번역 파일 일괄 업로드 큐 시스템 구현
  - 여러 JAR 파일 선택 및 대기열 관리
  - 파일별 상태 표시 (pending/processing/success/error)
  - 등록된 모드 목록 접기/펼치기 UI (모드팩 스타일)
  - 삭제 확인 다이얼로그 추가
  - 토스트 색상 다양화 (success/warning/error)

- PlayerStatsPage.jsx: 아이템/몹 아이콘 없을 시 ImageOff 표시

- admin.js: 모드 번역 API 개선
- db.js: 모든 모드 번역 로드 (minecraft 외 모드 포함)
2025-12-24 16:20:36 +09:00
c6a99ce4ce feat: JWT 토큰 자동 갱신 (슬라이딩 세션)
- 토큰 만료 시간 30일로 변경
- /auth/refresh 엔드포인트 추가 (만료 7일 전 갱신)
- 프론트엔드에서 1시간마다 토큰 자동 갱신 체크
2025-12-24 09:59:05 +09:00
527ac1e51b fix: 아이템/몹 번역 분리
- 아이템 통계: items + blocks 테이블 사용 (달걀 → 달걀)
- 몹 통계: entities 테이블 사용 (달걀 → 던져진 달걀)
- 번역 덮어쓰기 버그 수정
2025-12-24 00:53:29 +09:00
259cd1449c feat: 모드팩 파일명 기능 개선
- AWS SDK 사용으로 UTF-8 파일명 지원 (한글/특수문자)
- 원본 파일명으로 S3 저장 및 다운로드
- multipart 헤더 UTF-8 디코딩 (파일명 깨짐 수정)
- 드래그앤드롭 시각적 피드백 추가
- 모드/리소스팩/쉐이더 ABC순 정렬
2025-12-23 21:58:45 +09:00
00be44fc33 feat: 모드팩 배포 시스템 UI/UX 개선
백엔드:
- 중복 모드팩 업로드 시 409 에러 반환
- changelog UTF-8 인코딩 수정
- S3 경로에서 한글 제거 (ASCII만 사용)

프론트엔드:
- 업로드 중 로딩 인디케이터 추가
- 에러 토스트 빨간색/성공 초록색 구분
- 다이얼로그 배경 클릭 시 닫히지 않음 + 스케일 바운스 효과
- 취소 버튼 로딩 중 비활성화
2025-12-23 17:15:32 +09:00
83820c3951 feat: 모드팩 다운로드 API 추가
- GET /api/modpacks/:id/download: S3 URL로 리디렉션
2025-12-23 16:35:22 +09:00
3ab156cd56 feat: 모드팩 수정/삭제 API 추가
- PUT /api/admin/modpacks/🆔 변경 로그 수정
- DELETE /api/admin/modpacks/🆔 모드팩 삭제 (DB)
2025-12-23 16:33:51 +09:00
e586520b90 feat: 모드팩 업로드 API 구현
- POST /api/admin/modpacks: .mrpack 파일 업로드
- adm-zip으로 modrinth.index.json 파싱
- 모드팩 이름, 버전, MC 버전, 모드 로더 자동 추출
- mods/resourcepacks/shaderpacks 콘텐츠 파싱
- S3에 파일 저장, DB에 메타데이터 저장
2025-12-23 16:32:06 +09:00
b9dd596652 feat: 모드팩 목록 조회 API 추가
- GET /api/modpacks: DB에서 모드팩 목록 조회
- contents_json을 파싱하여 contents 객체로 반환
- created_at DESC 정렬
2025-12-23 16:29:10 +09:00
e25faa498e feat: modpacks 테이블 초기화 함수 추가
- db.js: initModpacksTable() 함수 추가
- server.js: 서버 시작 시 테이블 초기화 호출
- 스키마: id, name, version, minecraft_version, mod_loader, changelog, file_key, file_size, contents_json, created_at, updated_at
2025-12-23 16:26:59 +09:00
f6e7a8922a feat(admin): 성능 모니터링 API 연동 및 UI 개선
- TPS, MSPT, 메모리 사용량 실시간 표시
- CPU → MSPT로 변경 (서버 틱 처리 시간)
- formatStatusForClient에 성능 필드 추가
- 모바일 성능 UI 반응형 레이아웃 (1열/3열)
- 타이틀 '관리자 콘솔'로 통일
2025-12-23 12:45:40 +09:00
dd17cb5c5e feat(admin): 화이트리스트 API 연동 및 UI 개선
- 화이트리스트 조회/추가/삭제/토글 API 연동 (Mod WhitelistHandler)
- 화이트리스트 아바타 S3 캐싱 (CachedSkin 컴포넌트)
- 플레이어 아바타 S3 캐싱 연동
- 플레이어 추가 시 즉시 목록 반영
- 토스트 중앙 정렬 (모바일 대응)
- URL 해시로 탭 상태 유지
- 화이트리스트 활성화 상태 정확히 조회 (white-list 값만 체크)
2025-12-23 12:17:58 +09:00
6fb441dc80 feat: 관리자 설정 탭 기능 완성
- 게임규칙: 서버에서 실시간 목록 가져오기, 툴팁 설명, 토글 시 gamerule 명령어 실행
- 난이도: 서버에서 현재 난이도 가져오기, difficulty 명령어 실행
- 시간: 실시간 동기화 (틱 기반), time set 명령어 실행
- 날씨: 실시간 동기화, weather 명령어 실행
- 백엔드: worlds 정보 주기적 브로드캐스트 추가
2025-12-23 10:36:53 +09:00
6fe6d0dda0 feat: 콘솔 스크롤 개선 및 닉네임 실시간 동기화 구현
- 콘솔 탭 스크롤 동작 개선 (조건부 자동 스크롤, 맨 아래로 버튼)
- 탭 전환 시 레이아웃 쉬프트 방지 (scrollbar-gutter: stable)
- 맨 아래로 버튼에 그림자 효과 추가
- Sidebar에 소켓 기반 닉네임 실시간 동기화 로직 추가
- /link/status API에서 displayName 사용하도록 수정
2025-12-23 10:07:34 +09:00
c4d148810e feat: 콘솔 명령어 실행 API 구현
- 백엔드: admin.js 라우트 (JWT + 관리자 권한)

- 프론트엔드: 실제 API 호출로 연동
2025-12-22 15:37:54 +09:00
9adc0fe19b 프로필 소켓 추가 2025-12-22 11:42:37 +09:00
fd6a583fcc 회원가입/로그인, 프로필 추가 2025-12-22 09:36:23 +09:00
aa0f339f27 Initial commit: Minecraft Dashboard 2025-12-16 08:40:32 +09:00