번호 변경 (2026-09-25) — 처음엔 T-088 이었다. 원격에 같은 번호의 다른 일감(툴팁)이 먼저 올라가 T-096으로 옮겼다. 다른 문서·로그에 남은
T-088가운데 경매장·거래소 클라 화면을 가리키는 것은 이 일감이다.
배경
서버 쪽 경매장(장비 즉시구매, T-094)과 거래소(자원 수량 구매·시세, T-091)가 섰다.
패킷은 Unity로 미러링돼 있고 클라 구독자가 0건이다. 클라 요청: 이슈 #37
플레이어 규칙은 거래 4장, 패킷 계약은 MikaPacket.cs의 C_/S_Auction*·C_/S_Market* 주석.
클라가 알아야 할 구조
Unity 클라 ──TCP(기존 MikaNetwork)──▶ 메인 서버 ──gRPC──▶ 경매장 서버
- 클라는 메인 서버에만 붙는다. 경매장 서버는 클라에 보이지 않는다 — 새 접속·주소·인증이 없다.
- 산 물건 · 판매 대금 · 취소/만료 반환은 전부 우편으로 온다(
S_MailArrivedResponse). 거래 응답에는 물건이 실리지 않는다. - 골드는
S_CurrencyResponse로 따로 온다. 등록하면 인벤토리 변화가S_AuctionRegisterResponse에 실린다. - 경매장이 점검 중이면 조회·구매가
AuctionUnavailable(1000)로 온다 — 게임은 그대로 돈다.
할 일
2026-09-30 결정: 거래소(자원)는 경매장 탭 안 하위 탭으로 둔다 · 등록은 경매장 화면의 [등록](인벤토리 칸에서 바로 올리지 않는다) · 인챈트 필터·표기는 이번에 빼고 이름·등급·가격만 — 능력치 칸 기획이 바뀌는 중이다(이슈 #46).
- [x] 수신 —
ServerPacketHandler에 응답 8종 ·AuctionModel(창구 — 조회 결과·페이지 커서·송신) · 결과 코드 1000~1013 문구(ResultMessages) - [x] 등록 응답의 인벤토리 반영 — 자원은
ItemChangeInfos, 장비는EquipId로 지운다(PlayerDataModel— 장비 제거는 EquipSync로 오지 않는다) - [x] 거래소(자원) — 목록(최저가·판매 중 수량·최근가·전일 평균) · 이름 검색 · 가격대 · 수량 구매(N개·단가 상한). T-091
- [x] 장비 탭 — 이름·분류·희귀도 검색 · [더 보기](커서 페이지) · 즉시구매(
ExpectedTotalPrice·AuctionPriceChanged면 다시 검색 안내) · 산 물건은 우편 - [x] 등록 — 자원(TID·수량) / 장비(끼지 않은 개체만). 단가 즉시 판매가 ~ x10(가격 밴드 유지 — 2026-09-30 결정) · 총액 · 등록비 미리보기
- [x] 서버 콘솔이 경매장 서버(10060)도 함께 띄운다 — 안 떠 있어 "점검 중"이 뜨던 원인
- [x] 탭 재구성(2026-09-30) — 구매(자원·장비·캐릭터 축) · 등록 · 내 매물 3탭. 캐릭터 축은
(준비 중) - [x] 즉시 판매 vs 경매 등록 구분 — 인벤토리 툴팁
즉시 판매가·경매 등록가· [즉시 판매] 버튼 · 등록 안내문·힌트·확인 창 - [x] 수량·단가 입력 — 넘치면 최대값으로(보유량·상한·살 수 있는 수량), 모자라면 입력 끝에 최소값으로
- [x] 내 매물 — 검색 결과에
[내 매물]표시 · [구매] 잠금 · 거래소 가격대 "내 매물 N개" · 살 수 있는 수량에서 제외 - [x] 가격 정렬(로컬 사본만) — 낮은 가격순 ↔ 높은 가격순 (자원·장비). "받은 순"은 2026-10-01 뺐다 · 장비는 받은 페이지 안에서만 정렬된다
- [x] [더 보기] 버튼에 받은 수 —
더 보기 (20개 받음)·전부 받음 (37개)(서버는 20개씩 · 커서 ·HasMore) - [x] 가독성(2026-10-01) — 줄 아이콘 칸(
ItemIconView) · 줄 툴팁(가격 기준 · 능력치 칸) · 라벨/가격 색 구분 · 등록 안내문·힌트 줄 나눔 · 구매 확인에 구매 후 골드 · 검색·도구 줄 드롭다운 라벨이 화살표와 겹치던 것 - [x] 판매자 줄 — 서버가 준 이름(
SellerName), 내 것은나(2026-10-03 · #47) - [x]
CharacterTable.BasePrice컬럼 추가 — 등급별 50·100·250·600·1500·4000 (캐릭터 즉시 판매·경매 하한) - [x] 캐릭터 경매 (2026-10-03 · #47) — 구매 › 캐릭터 검색(
Character Search Presenter— 장비 검색의 복제) · 줄은 레벨, 적성 5종은 툴팁 · 등록 · 우편 캐릭터 첨부 · 결과 코드 문구. 즉시 판매는 T-075 - [x] 등록할 수 없는 장비·캐릭터도 흐린 줄로 남기고 툴팁에 사유(
EntityBlockText) (2026-10-03) - [x] 인벤토리 칸 Shift+우클릭 → 경매 등록(물건이 골라진 채로) (2026-10-03 · 결정 4)
- [x] 개선안 P4 — 내 매물 자동 갱신 + 탭 배지 · P5 — "n분 전에 받음" · P6 — 정렬 버튼 "받은 것 중 …" (2026-10-03)
- [ ] ⏸ 개선안 P1 — 장비·캐릭터 TID별 시세 요약 → T-119 (서버 T-118 · 이슈 #52) — 이 일감의 완료를 막지 않는다
- [x] 내 매물 · 취소 — 열 때마다 새로 받는다 ·
Reserved는 취소 잠금 · 취소 확인 창에 "등록비 미환급" - [x] 씬 —
Auction Page안 하위 탭 4개 ·AuctionRowView프리팹 ·Auction (MODEL)오브젝트 - [x] 능력치 칸 표기 — 매물 줄
능력치 n/N· 아이콘 칸 네모 · 툴팁. 지금은 옛 인챈트 필드로 읽는다(EquipLabel.ReadStatOptions) - [x] 새 능력치 구조 — 칸 수는
EnchantGradeTable.SlotCount(서버와 같은 표) · 장비 검색에 인챈트 등급 드롭다운 하나(옵션 다중 선택은 매물이 쌓인 뒤) (2026-10-03 · #46) - [x] 실측 (2026-10-03 사용자 실측) — 경매장 서버를 띄우고 계정 둘로 등록 → 검색·구매 → 우편 수령 (거래소 수량 구매 · 취소 반환 · 캐릭터 경매 · 판매자 이름 · 인챈트 검색 · Shift+우클릭 · 내 매물 배지 포함)
- [x] 실측 뒤 옛
Character Auction Page(꺼 둔(준비 중)자리) 삭제 (2026-10-03) - [x] 실측 폴리싱 (2026-10-03) — 장비 검색 줄이 열 폭을 밀던 것(2단으로 나눔) · 등록 화면 3줄 문구 넘침 · "등록은 되는데 내 매물·검색이 빈다"는 클라가 아니라 메인 DB만 비워 경매장 DB와 매물 ID가 겹친 것(경매장 DB 삭제로 복구 · Agent 로그
2026-10-03-auction-character-entity-sell.md)
완료 조건
클라에서 등록 → 다른 계정으로 검색·구매 → 우편 수령까지 화면으로 돈다 — 자원·장비·캐릭터 모두.
막고 있는 것 / 선행 일감
관련 커밋
33f5a5a캐릭터 경매 · 캐릭터·장비 즉시 판매 (2026-10-03)- 이 커밋 — 실측 폴리싱 · 보관