Commit Graph
55 Commits
Author SHA1 Message Date
Hide_D e30709a382 fix(game): 설문 기본 유니크 풀을 복원한다
시나리오가 allItems를 생략해도 Ref 기본 유니크 풀로 추첨한다. 계수 1에서 가오픈과 정식 오픈 tick의 아이템 지급, 장착, 보상 마커와 로그를 고정 seed로 검증한다.
2026-08-27 11:02:14 +00:00
Hide_D 10cd1ed6d4 feat: 관리자 계정 식별자와 카카오 영구 교체 지원
관리자 승인과 사용자 OAuth 증명을 분리하고 기존 Kakao stable ID를 영구 폐기한다. 로그인 ID와 닉네임 변경은 현재 장수에 revision 기반으로 투영하며 과거 기록은 당시 이름으로 보존한다.
2026-08-24 23:25:49 +00:00
Hide_D 630bc29100 fix: 특수 유저 커맨드의 Ref 호환 경계를 보강한다
수뇌 국가 설정과 NPC 정책을 actor-bound ENGINE mutation으로 옮기고, 추방·등용·점령·멸망·아이템 폐기의 특수 분기를 Ref와 맞춘다.

요청 ID를 사용자·프로필별로 격리하고 토너먼트 손상 projection을 fail-closed하며 실제 DB 및 Ref 차등 회귀를 보강한다.
2026-08-24 12:10:57 +00:00
Hide_D 98db74491f merge: 최신 main을 transport 권한과 durable 검증에 최종 통합한다 2026-08-24 09:19:08 +00:00
Hide_D 7a1254cb3a fix: 투표 UTC wall과 migration 시간대 경계를 고정한다 2026-08-24 09:18:42 +00:00
Hide_D c6459a64dd fix: 추방 보호 대상을 서버에서 차단한다
인증된 실행자와 현재 world의 대상을 기준으로 본인, 군주, 수뇌, 외교권자를 mutation 전에 거부한다. 인사부 후보와 엔진 무변경 회귀, 실제 Chromium 후보 검증을 함께 추가한다.
2026-08-24 08:33:57 +00:00
Hide_D 071f34d6e4 merge: 최신 main을 자동 외교 분리 브랜치에 통합한다 2026-08-24 08:15:37 +00:00
Hide_D 4efc9a7679 feat: 사용자 군주 자동 선전포고를 분리한다 2026-08-24 08:14:53 +00:00
Hide_D 907b7db1c6 fix(game): 가오픈 장수 삭제 대기를 실제 접수 시각에 맞춘다
미래 정식 오픈에 고정된 게임 시각과 durable input event 접수 시각을 분리한다. 일반 생성과 선택 풀 생성의 삭제 가능 시각 및 최초 접속 시각만 operational 시각을 사용하고 RNG와 턴 배치는 기존 논리 시각을 보존한다.
2026-08-24 08:13:05 +00:00
Hide_D 4fc20de8d4 fix: 은퇴 명예 기록과 유산 수명주기 정합성을 복원한다
은퇴·사망·통일의 저장 순서와 명예의 전당 및 명장일람 판정을 Ref 흐름에 맞춘다.

유산 행동을 인증된 daemon transaction으로 통합하고 중복 지급·고유 아이템·로그·오류 경계를 회귀 테스트한다.
2026-08-24 03:38:12 +00:00
Hide_D 85591c68ad fix: Ref 게임 로직과 시나리오 풀 호환을 보정
월 경계, 전투 기술 상한, 연감과 베팅·설문·경매 정산 순서를 Ref 계약에 맞춘다.\n\n시나리오 일반 풀을 ENGINE mutation과 logical tick 기반으로 직렬화하고 914·915 catalog 및 조건부 100기 pool 실행 경계를 추가한다.\n\n경매 worker는 세대별 durable event만 만들고 ENGINE이 row lock 후 상태 전이와 정산을 단일 transaction으로 소유한다.
2026-08-23 16:26:14 +00:00
Hide_D 9c588dbd67 feat: 사용자 군주 자율행동 업무를 개별 설정한다
NPC 군주의 기존 국가 운영은 유지하고 사용자 군주는 외교, 수뇌 임명, 재정 조정, 천도를 기본 비활성화한다.

내 정보 설정과 인증 API, 엔진 gate를 연결하고 자율행동 기간 및 국가턴 master를 함께 검증한다.
2026-08-22 08:28:04 +00:00
Hide_D a403652761 fix: 유산 전투 특기 고정과 내역 스크롤 수정
초기화 시 전투 특기를 null로 정규화하고 이전 특기 배열을 보존해 다음 월 고정 배정이 daemon 재시작 없이 동작하게 한다. 다중 변경 내역이 문서 높이를 늘리도록 하고 API, 월간 persistence, 실제 Chromium 회귀 검증을 추가한다.
2026-08-21 04:45:38 +00:00
Hide_D 81279e76b5 feat: 응답 가능한 서신과 턴 시간 호환 이관
등용장과 이민족 선택 응답을 turn daemon transaction으로 연결하고 Ref의 통일 이후 상태 전이와 수신자별 메시지 저장 규칙을 보존한다.\n\n유산 턴 시간 변경을 nextTurnTimeBase 기반 결정적 계산으로 바로잡고 API, 엔진, Chromium 회귀를 추가한다.
2026-08-19 18:03:56 +00:00
Hide_D ca6823d409 feat: 실행 중 게임 옵션 변경을 지원
Gateway 관리 화면에서 현재 기수의 장수 생성 제한, 유저 자동턴, 턴 간격을 내구성 action으로 변경한다.

턴 간격 변경은 논리 tick과 현재 게임 시각을 보존하며 DB와 Redis의 tick 기반 시각을 재투영하고 기존 로그 timestamp는 유지한다.
2026-08-17 16:05:07 +00:00
Hide_D d133db32eb fix: repair existing test failures 2026-08-13 00:52:22 +00:00
Hide_D a26031dc3f feat: add logical game clock 2026-08-04 02:51:27 +00:00
Hide_D a275e6a234 feat: add user icon library and in-game selection 2026-08-01 03:40:36 +00:00
Hide_D bb6d2f524e fix(engine): finalize united events and auctions compatibly 2026-07-31 14:56:57 +00:00
Hide_D 5f20413552 feat: synchronize account icons across game profiles 2026-07-31 11:21:08 +00:00
Hide_D 71ec02d091 feat: port pre-start general deletion lifecycle 2026-07-31 05:44:36 +00:00
Hide_D 2de8f64da4 feat: port NPC possession through turn daemon 2026-07-31 03:46:02 +00:00
Hide_D d82e493109 feat: execute MyPage immediate actions in daemon 2026-07-31 01:56:16 +00:00
Hide_D c6a2a0da93 feat: make general creation daemon-atomic 2026-07-31 00:33:03 +00:00
Hide_D 115218ded8 feat: port scenario 903 select-pool flow 2026-07-30 23:27:59 +00:00
Hide_D c68d992046 feat: port scenario action effects 2026-07-30 19:00:04 +00:00
Hide_D 7f31459385 feat(admin): apply durable runtime clock shifts 2026-07-30 17:21:01 +00:00
Hide_D de510da48e fix scenario 911 assignment troop gather 2026-07-27 09:49:35 +00:00
Hide_D 7afb99256d fix scenario 911 troop join movement 2026-07-27 09:36:53 +00:00
Hide_D 7c2cf84384 Merge branch 'main' into audit/lint-test-baseline-20260726
# Conflicts:
#	app/game-api/src/battleSim/worker.ts
#	app/game-api/src/router/general/index.ts
2026-07-26 05:57:45 +00:00
Hide_D fe45b9b7a5 fix: restore lint and test baseline 2026-07-26 05:49:52 +00:00
Hide_D 0127fd501a Complete legacy-compatible in-game information menus 2026-07-26 05:20:32 +00:00
Hide_D 200d883b5b Merge branch 'main' into feature/nation-personnel-finance-parity
# Conflicts:
#	docs/frontend-legacy-parity.md
2026-07-26 04:35:16 +00:00
Hide_D 35c1c138d7 Merge branch 'main' into feature/tournament-betting-parity 2026-07-26 04:32:29 +00:00
Hide_D 625476c86e Merge branch 'main' into feature/nation-personnel-finance-parity
# Conflicts:
#	app/game-frontend/e2e/playwright.config.mjs
#	app/game-frontend/package.json
#	docs/frontend-legacy-parity.md
2026-07-26 04:31:54 +00:00
Hide_D f4c09a9b02 feat: complete nation personnel and finance parity 2026-07-26 04:30:12 +00:00
Hide_D eec2acc08d feat: complete tournament API lifecycle 2026-07-26 04:29:45 +00:00
Hide_D c2a3b5b797 Implement legacy-compatible survey and unique rewards 2026-07-26 04:17:56 +00:00
Hide_D f7311385ce Merge origin/main into frontend parity worktree 2026-07-25 11:16:03 +00:00
Hide_D 93ae4df519 feat: complete legacy-compatible auction system 2026-07-25 10:43:49 +00:00
Hide_D ae4cc31a16 feat: add secure troop management 2026-07-25 08:44:44 +00:00
Hide_D 35935c9eca Refactor equipped items into persistent instances 2026-07-25 06:46:56 +00:00
Hide_D 5040691d7c feat: implement input event system with durable command handling
- Introduced InputEvent model with status tracking (PENDING, PROCESSING, SUCCEEDED, FAILED) and unique request IDs.
- Added DatabaseTurnDaemonTransport for sending commands and handling idempotency.
- Implemented executeInputEvent function to manage input event lifecycle and error handling.
- Created DatabaseTurnDaemonCommandQueue for managing command processing and lease recovery.
- Enhanced turn daemon lifecycle to support atomic command execution and error recovery.
- Added tests for input event atomicity, command queuing, and error handling scenarios.
2026-07-25 05:36:34 +00:00
Hide_D b0a8f768e9 feat: add survey view with voting functionality and admin panel
- Implemented SurveyView.vue for displaying and managing polls, including voting, comments, and results.
- Added new database tables for vote polls, votes, and comments in migration script.
- Created unique lottery logic for handling unique item rewards based on voting.
- Developed unit tests for unique lottery functionality to ensure deterministic behavior and correct counting of occupied unique items.
2026-02-03 18:25:26 +00:00
Hide_D c4a5361fc6 feat: 토너먼트 메타 조정 및 결과 처리 기능 추가 2026-01-29 18:33:56 +00:00
Hide_D f280ed0c23 feat: 명령어 정규화 및 핸들러 매핑 개선 2026-01-24 05:40:58 +00:00
Hide_D 52be3b40ef feat: implement auction bidding and resource adjustment commands
- Added `adjustGeneralResources` command to handle resource adjustments for generals.
- Introduced `patchGeneral` command for updating general attributes.
- Created `auctionBid` command to facilitate bidding in auctions with validation.
- Refactored database interactions to use transactions for auction bids and resource adjustments.
- Enhanced error handling for auction and resource operations.
- Updated command handling in the turn daemon to support new commands.
- Introduced `AuctionBidder` interface and implementation for managing auction bids.
- Improved overall structure and readability of auction-related code.
2026-01-24 04:25:04 +00:00
Hide_D cbee0d4c20 feat: 국가 메타 업데이트 기능 추가 및 관련 로직 구현 2026-01-24 03:16:05 +00:00
Hide_D 4997ef9a1c feat: 토너먼트 보상 처리 기능 추가 및 관련 타입 정의 2026-01-23 17:22:54 +00:00
Hide_D 293a5035c6 feat: 토너먼트 관련 기능 추가 및 베팅 처리 로직 구현 2026-01-23 16:58:59 +00:00