2026-10-06
later/로 뺐다 — 당분간 하지 않기로 했다 (사용자 결정). 할 때가 되면 루트로 되돌린다.
배경
회차 회의(토 22:00)에서 각자 로컬 서버가 아니라 한 서버에 함께 붙어 플레이해야 거래소·경매장 같은
공유 기능을 확인할 수 있다. 지금은 서버를 내 PC에서 직접 실행하고, 클라는 127.0.0.1에만 붙는다.
현재 상태 (2026-10-02):
- Docker 파일이 저장소에 없다.
WSGameServer— TCP10050리슨 (Server/WSGameServer/Network/NetworkManager.cs)AuctionServer— gRPC127.0.0.1:10060리슨 (Server/AuctionServer/appsettings.json) — 게임 서버가 붙는 서버- 클라 접속 주소가
127.0.0.1:10050으로 박혀 있다 (Assets/Scripts_Server/Network/MikaNetwork.Unity/NetworkManager.cs) - DB는 SQLite 파일 (
Server/Shared/game.sqlite3) +.bytes데이터
범위 — 이번 회차는 "모두 내 Docker 게임 서버에 붙기"
- 이 일감: 게임 서버·경매장 둘 다 내 Docker · 친구 클라가 내 게임 서버에 붙는다.
- 각자 로컬 게임 서버 + 내 경매장 공유 조합은 T-110으로 뗐다 (2026-10-02) —
listing_id·이벤트·판매 대금 정산이 게임 서버 하나를 전제로 짜여 있어 프로토콜·정산 흐름을 바꿔야 한다. - 다만 T-110이 바로 이어받을 수 있게 경매장 주소는 이번에 설정값으로 빼 둔다.
할 일
- [ ] 게임 서버 리슨 포트
10050→30329(2026-10-02 결정 — 로컬·Docker·외부 모두 같은 번호) · 서버 테스트·더미 클라·문서의10050도 함께 - [ ]
WSGameServer·AuctionServer각각 Dockerfile (.NET 10 멀티스테이지 빌드) - [ ]
docker-compose.yml— 두 서비스를 한 네트워크로 묶는다- 게임 서버만 호스트에 노출 —
30329:30329(안팎 같은 번호), 경매장10060은 compose 내부 전용 - 경매장 리슨 주소
0.0.0.0 - 게임 서버의 경매장 주소를 설정값으로 뺀다 — compose 안에서는 서비스 이름 (T-110 대비)
- 게임 서버만 호스트에 노출 —
- [ ] SQLite DB·
Shared/Data를 볼륨으로 마운트 — 컨테이너를 다시 만들어도 데이터가 남게 - [ ] 개발 DB와 리모트 DB의 스키마를 맞추는 법 (2026-10-02 결정) — 지금은
game.sqlite3를 git에 올리고migrations/*.sql을 손으로 돌려, 어느 DB에 어디까지 적용됐는지 기록이 없다- 스키마 기준을 SQL로 —
schema.sql(초기 전체) + 순번 붙인migrations/· DB 파일은 결과물 - 게임 서버가 시작할 때
PRAGMA user_version을 보고 남은 마이그레이션을 자동 적용 (경매장AuctionStore.cs와 같은 방식) - 적용 전 DB 파일을 백업 복사
game.sqlite3를 git에서 뺀다 — 없으면schema.sql+마이그레이션으로 새로 만든다- 유저 데이터는 개발·리모트가 달라도 된다 — 개발 DB는 지워도 되고, 리모트는 볼륨에 남겨 마이그레이션으로만 앞으로 간다. 개발용 테스트 계정이 필요하면 시드 SQL을 개발에서만
- 규칙: 데이터를 지우는 마이그레이션(
DELETE)은 리모트에 친구 계정이 있으니 공지하고 돌린다 —Server/CLAUDE.md·sqlite-sql-creator에 반영
- 스키마 기준을 SQL로 —
- [ ] 클라 접속 위치를 고를 수 있게 한다 (
NetworkManager.cs의127.0.0.1:10050하드코딩 제거) · 포트는30329- 에디터에서 접속할 곳을 고른다 — 프리셋(
로컬·진우 서버) + 직접 입력. 개인 선택이라EditorPrefs에 저장해 커밋되지 않게 한다. 기본값은로컬 - 빌드는 공용 설정(ScriptableObject 등)의 주소로 붙는다 — 회차 빌드는
진우 서버
- 에디터에서 접속할 곳을 고른다 — 프리셋(
- [ ] 외부 접속 경로 — 공유기 포트포워딩(
30329) + 방화벽 허용, 또는 Tailscale 등 VPN 중 하나로 정한다 - [ ] 실측 — 친구 PC 클라 → 내 Docker 게임 서버 · 로그인 · 채취 · 경매장 등록/구매
- [ ] 띄우는 법·주소 바꾸는 법을
Server/docs/에 짧게 남긴다
완료 조건
docker compose up 한 번으로 두 서버가 뜨고, 261010 회차 클라 빌드로 친구 PC에서 내 서버에 접속해
로그인·채취·경매장 등록/구매가 된다.
컨테이너를 재시작해도 계정·매물 데이터가 남아 있고, 스키마가 바뀐 서버로 갈아 끼우면 리모트 DB가 자동으로 마이그레이션된다.
막고 있는 것 / 선행 일감
- 없음 — 클라 접속 주소 코드는
Scripts_Server라 서버 쪽에서 처리한다. 클라 빌드 설정에 손대야 하면 태웅에게 알린다.
관련 커밋
- 없음