Skip to content

Fix: 피버타임 네트워크 지연 문제 및 일시정지 대응#231

Merged
Hwanvely merged 1 commit intodevfrom
fix/fever-time
Dec 1, 2025
Merged

Fix: 피버타임 네트워크 지연 문제 및 일시정지 대응#231
Hwanvely merged 1 commit intodevfrom
fix/fever-time

Conversation

@Hwanvely
Copy link
Copy Markdown
Collaborator

@Hwanvely Hwanvely commented Dec 1, 2025

개요

피버타임(FeverTime) 아이템 사용 시 발생하는 네트워크 지연(Latency) 문제와 일시정지(Pause) 후 시간 동기화 문제를 해결하기 위해 도메인 로직을 리팩토링했습니다.

변경 사항

  1. 검증 기준 변경 (Server Time → Event Time)
  • 기존: 요청이 서버에 도착한 시점을 기준으로 피버타임 유효성을 검사.
  • 변경: 클라이언트에서 스트릭이 발생한 시점(occurredAt)을 기준으로 검사하도록 변경하여, 네트워크 지연으로 인해 정당한 플레이가 무시되는 문제를 해결했습니다.
  1. 네트워크 지연 버퍼(Latency Buffer) 적용
    FeverTime.start() 직후에 클라이언트가 보낸 요청이 서버 시작 시간보다 미세하게 앞서는 경우(Latency)를 고려하여, 시작 시간 기준 3초 전까지의 요청을 유효한 것으로 인정하도록 허용 범위를 조정했습니다.

  2. 일시정지/재개(Pause/Resume) 로직 개편

  • 기존: Duration(남은 시간)을 계산하여 저장하는 방식.
  • 변경: feverEndAt(종료 시점)을 관리하는 방식으로 변경.

resume() 시: (현재 시간 - 마지막 정지 시간)만큼 feverEndAt을 뒤로 미루어, 정지했던 시간만큼 피버 타임이 정확히 연장되도록 구현했습니다.

@Hwanvely Hwanvely self-assigned this Dec 1, 2025
@Hwanvely Hwanvely added the fix label Dec 1, 2025
@Hwanvely Hwanvely merged commit 08e0eba into dev Dec 1, 2025
1 check passed
Hwanvely added a commit that referenced this pull request Apr 6, 2026
* 피버타임 검증 시 점수가 두배가 되지 않는 현상 해결 (#226)

* fix: 피버타임 검증 시 점수가 두배가 되지 않는 문제 해결

* refactor: 바뀐 dto에 맞게 BIZ 및 test 수정

* 세션 일시정지시 피버타임을 멈추지 못하던 문제 해결 (#227)

* fix: 피버타임 검증 시 점수가 두배가 되지 않는 문제 해결

* refactor: 바뀐 dto에 맞게 BIZ 및 test 수정

* fix: 피버타임중 일시정지 시 피버타임도 멈추게 한다

* refactor: 인터페이스로 묶는다

* 피버타임 관련 문제 해결 (#228)

* fix: 점수 증가 로직 오류 해결

* fix: 스트릭 발생 시각을 받는다

* refactor: 네이밍 수정

* fix(test): 스트릭 발생 시각 추가

* fix: 피버타임 검증 시 일반 스트릭이 검증안되던 문제해결 (#229)

* fix: 피버타임 네트워크 지연 문제 해결 (#231)

* 피버타임 일시정지 동기화 및 지연시간 문제 해결 (#232)

* fix: 치팅 및 네트워크 지연 해결

* comment: 디버깅을 위한 로그 추가

* fix: session과 fevertime 일시정지 동기화

* OCI용 CD 파이프라인 마이그레이션 (#234)

* fix: 치팅 및 네트워크 지연 해결

* comment: 디버깅을 위한 로그 추가

* fix: session과 fevertime 일시정지 동기화

* fix: 세션 예외 오류 해결

* feat: multipart 예외 핸들링

* refactor: CD 파이프라인 OCI로 마이그레이션

* fix: end response 분리
Hwanvely added a commit that referenced this pull request Apr 6, 2026
* 피버타임 검증 시 점수가 두배가 되지 않는 현상 해결 (#226)

* fix: 피버타임 검증 시 점수가 두배가 되지 않는 문제 해결

* refactor: 바뀐 dto에 맞게 BIZ 및 test 수정

* 세션 일시정지시 피버타임을 멈추지 못하던 문제 해결 (#227)

* fix: 피버타임 검증 시 점수가 두배가 되지 않는 문제 해결

* refactor: 바뀐 dto에 맞게 BIZ 및 test 수정

* fix: 피버타임중 일시정지 시 피버타임도 멈추게 한다

* refactor: 인터페이스로 묶는다

* 피버타임 관련 문제 해결 (#228)

* fix: 점수 증가 로직 오류 해결

* fix: 스트릭 발생 시각을 받는다

* refactor: 네이밍 수정

* fix(test): 스트릭 발생 시각 추가

* fix: 피버타임 검증 시 일반 스트릭이 검증안되던 문제해결 (#229)

* fix: 피버타임 네트워크 지연 문제 해결 (#231)

* 피버타임 일시정지 동기화 및 지연시간 문제 해결 (#232)

* fix: 치팅 및 네트워크 지연 해결

* comment: 디버깅을 위한 로그 추가

* fix: session과 fevertime 일시정지 동기화

* OCI용 CD 파이프라인 마이그레이션 (#234)

* fix: 치팅 및 네트워크 지연 해결

* comment: 디버깅을 위한 로그 추가

* fix: session과 fevertime 일시정지 동기화

* fix: 세션 예외 오류 해결

* feat: multipart 예외 핸들링

* refactor: CD 파이프라인 OCI로 마이그레이션

* fix: end response 분리

* OCI 경로 수정 (#236)

* fix: 치팅 및 네트워크 지연 해결

* comment: 디버깅을 위한 로그 추가

* fix: session과 fevertime 일시정지 동기화

* fix: 세션 예외 오류 해결

* feat: multipart 예외 핸들링

* refactor: CD 파이프라인 OCI로 마이그레이션

* fix: end response 분리

* fix: oci 경로 수정
Hwanvely added a commit that referenced this pull request Apr 6, 2026
* 피버타임 검증 시 점수가 두배가 되지 않는 현상 해결 (#226)

* fix: 피버타임 검증 시 점수가 두배가 되지 않는 문제 해결

* refactor: 바뀐 dto에 맞게 BIZ 및 test 수정

* 세션 일시정지시 피버타임을 멈추지 못하던 문제 해결 (#227)

* fix: 피버타임 검증 시 점수가 두배가 되지 않는 문제 해결

* refactor: 바뀐 dto에 맞게 BIZ 및 test 수정

* fix: 피버타임중 일시정지 시 피버타임도 멈추게 한다

* refactor: 인터페이스로 묶는다

* 피버타임 관련 문제 해결 (#228)

* fix: 점수 증가 로직 오류 해결

* fix: 스트릭 발생 시각을 받는다

* refactor: 네이밍 수정

* fix(test): 스트릭 발생 시각 추가

* fix: 피버타임 검증 시 일반 스트릭이 검증안되던 문제해결 (#229)

* fix: 피버타임 네트워크 지연 문제 해결 (#231)

* 피버타임 일시정지 동기화 및 지연시간 문제 해결 (#232)

* fix: 치팅 및 네트워크 지연 해결

* comment: 디버깅을 위한 로그 추가

* fix: session과 fevertime 일시정지 동기화

* OCI용 CD 파이프라인 마이그레이션 (#234)

* fix: 치팅 및 네트워크 지연 해결

* comment: 디버깅을 위한 로그 추가

* fix: session과 fevertime 일시정지 동기화

* fix: 세션 예외 오류 해결

* feat: multipart 예외 핸들링

* refactor: CD 파이프라인 OCI로 마이그레이션

* fix: end response 분리

* OCI 경로 수정 (#236)

* fix: 치팅 및 네트워크 지연 해결

* comment: 디버깅을 위한 로그 추가

* fix: session과 fevertime 일시정지 동기화

* fix: 세션 예외 오류 해결

* feat: multipart 예외 핸들링

* refactor: CD 파이프라인 OCI로 마이그레이션

* fix: end response 분리

* fix: oci 경로 수정

* fix: oci 옵션 수정

* fix: shebang 추가
Hwanvely added a commit that referenced this pull request Apr 6, 2026
* 피버타임 검증 시 점수가 두배가 되지 않는 현상 해결 (#226)

* fix: 피버타임 검증 시 점수가 두배가 되지 않는 문제 해결

* refactor: 바뀐 dto에 맞게 BIZ 및 test 수정

* 세션 일시정지시 피버타임을 멈추지 못하던 문제 해결 (#227)

* fix: 피버타임 검증 시 점수가 두배가 되지 않는 문제 해결

* refactor: 바뀐 dto에 맞게 BIZ 및 test 수정

* fix: 피버타임중 일시정지 시 피버타임도 멈추게 한다

* refactor: 인터페이스로 묶는다

* 피버타임 관련 문제 해결 (#228)

* fix: 점수 증가 로직 오류 해결

* fix: 스트릭 발생 시각을 받는다

* refactor: 네이밍 수정

* fix(test): 스트릭 발생 시각 추가

* fix: 피버타임 검증 시 일반 스트릭이 검증안되던 문제해결 (#229)

* fix: 피버타임 네트워크 지연 문제 해결 (#231)

* 피버타임 일시정지 동기화 및 지연시간 문제 해결 (#232)

* fix: 치팅 및 네트워크 지연 해결

* comment: 디버깅을 위한 로그 추가

* fix: session과 fevertime 일시정지 동기화

* OCI용 CD 파이프라인 마이그레이션 (#234)

* fix: 치팅 및 네트워크 지연 해결

* comment: 디버깅을 위한 로그 추가

* fix: session과 fevertime 일시정지 동기화

* fix: 세션 예외 오류 해결

* feat: multipart 예외 핸들링

* refactor: CD 파이프라인 OCI로 마이그레이션

* fix: end response 분리

* OCI 경로 수정 (#236)

* fix: 치팅 및 네트워크 지연 해결

* comment: 디버깅을 위한 로그 추가

* fix: session과 fevertime 일시정지 동기화

* fix: 세션 예외 오류 해결

* feat: multipart 예외 핸들링

* refactor: CD 파이프라인 OCI로 마이그레이션

* fix: end response 분리

* fix: oci 경로 수정

* fix: oci 옵션 수정

* fix: shebang 추가

* fix: oci 옵션 수정
Hwanvely added a commit that referenced this pull request Apr 6, 2026
* 피버타임 검증 시 점수가 두배가 되지 않는 현상 해결 (#226)

* fix: 피버타임 검증 시 점수가 두배가 되지 않는 문제 해결

* refactor: 바뀐 dto에 맞게 BIZ 및 test 수정

* 세션 일시정지시 피버타임을 멈추지 못하던 문제 해결 (#227)

* fix: 피버타임 검증 시 점수가 두배가 되지 않는 문제 해결

* refactor: 바뀐 dto에 맞게 BIZ 및 test 수정

* fix: 피버타임중 일시정지 시 피버타임도 멈추게 한다

* refactor: 인터페이스로 묶는다

* 피버타임 관련 문제 해결 (#228)

* fix: 점수 증가 로직 오류 해결

* fix: 스트릭 발생 시각을 받는다

* refactor: 네이밍 수정

* fix(test): 스트릭 발생 시각 추가

* fix: 피버타임 검증 시 일반 스트릭이 검증안되던 문제해결 (#229)

* fix: 피버타임 네트워크 지연 문제 해결 (#231)

* 피버타임 일시정지 동기화 및 지연시간 문제 해결 (#232)

* fix: 치팅 및 네트워크 지연 해결

* comment: 디버깅을 위한 로그 추가

* fix: session과 fevertime 일시정지 동기화

* OCI용 CD 파이프라인 마이그레이션 (#234)

* fix: 치팅 및 네트워크 지연 해결

* comment: 디버깅을 위한 로그 추가

* fix: session과 fevertime 일시정지 동기화

* fix: 세션 예외 오류 해결

* feat: multipart 예외 핸들링

* refactor: CD 파이프라인 OCI로 마이그레이션

* fix: end response 분리

* OCI 경로 수정 (#236)

* fix: 치팅 및 네트워크 지연 해결

* comment: 디버깅을 위한 로그 추가

* fix: session과 fevertime 일시정지 동기화

* fix: 세션 예외 오류 해결

* feat: multipart 예외 핸들링

* refactor: CD 파이프라인 OCI로 마이그레이션

* fix: end response 분리

* fix: oci 경로 수정

* fix: oci 옵션 수정

* fix: shebang 추가

* fix: oci 옵션 수정

* fix: drain 경합으로 인한 409 해결
Hwanvely added a commit that referenced this pull request Apr 7, 2026
* 피버타임 검증 시 점수가 두배가 되지 않는 현상 해결 (#226)

* fix: 피버타임 검증 시 점수가 두배가 되지 않는 문제 해결

* refactor: 바뀐 dto에 맞게 BIZ 및 test 수정

* 세션 일시정지시 피버타임을 멈추지 못하던 문제 해결 (#227)

* fix: 피버타임 검증 시 점수가 두배가 되지 않는 문제 해결

* refactor: 바뀐 dto에 맞게 BIZ 및 test 수정

* fix: 피버타임중 일시정지 시 피버타임도 멈추게 한다

* refactor: 인터페이스로 묶는다

* 피버타임 관련 문제 해결 (#228)

* fix: 점수 증가 로직 오류 해결

* fix: 스트릭 발생 시각을 받는다

* refactor: 네이밍 수정

* fix(test): 스트릭 발생 시각 추가

* fix: 피버타임 검증 시 일반 스트릭이 검증안되던 문제해결 (#229)

* fix: 피버타임 네트워크 지연 문제 해결 (#231)

* 피버타임 일시정지 동기화 및 지연시간 문제 해결 (#232)

* fix: 치팅 및 네트워크 지연 해결

* comment: 디버깅을 위한 로그 추가

* fix: session과 fevertime 일시정지 동기화

* OCI용 CD 파이프라인 마이그레이션 (#234)

* fix: 치팅 및 네트워크 지연 해결

* comment: 디버깅을 위한 로그 추가

* fix: session과 fevertime 일시정지 동기화

* fix: 세션 예외 오류 해결

* feat: multipart 예외 핸들링

* refactor: CD 파이프라인 OCI로 마이그레이션

* fix: end response 분리

* OCI 경로 수정 (#236)

* fix: 치팅 및 네트워크 지연 해결

* comment: 디버깅을 위한 로그 추가

* fix: session과 fevertime 일시정지 동기화

* fix: 세션 예외 오류 해결

* feat: multipart 예외 핸들링

* refactor: CD 파이프라인 OCI로 마이그레이션

* fix: end response 분리

* fix: oci 경로 수정

* fix: oci 옵션 수정

* fix: shebang 추가

* fix: oci 옵션 수정

* fix: drain 경합으로 인한 409 해결

* 모니터링 추가 (#241)

* feat: drain 연결 종료 대기 추가

* feat: actuator 추가
Hwanvely added a commit that referenced this pull request Apr 7, 2026
* 피버타임 검증 시 점수가 두배가 되지 않는 현상 해결 (#226)

* fix: 피버타임 검증 시 점수가 두배가 되지 않는 문제 해결

* refactor: 바뀐 dto에 맞게 BIZ 및 test 수정

* 세션 일시정지시 피버타임을 멈추지 못하던 문제 해결 (#227)

* fix: 피버타임 검증 시 점수가 두배가 되지 않는 문제 해결

* refactor: 바뀐 dto에 맞게 BIZ 및 test 수정

* fix: 피버타임중 일시정지 시 피버타임도 멈추게 한다

* refactor: 인터페이스로 묶는다

* 피버타임 관련 문제 해결 (#228)

* fix: 점수 증가 로직 오류 해결

* fix: 스트릭 발생 시각을 받는다

* refactor: 네이밍 수정

* fix(test): 스트릭 발생 시각 추가

* fix: 피버타임 검증 시 일반 스트릭이 검증안되던 문제해결 (#229)

* fix: 피버타임 네트워크 지연 문제 해결 (#231)

* 피버타임 일시정지 동기화 및 지연시간 문제 해결 (#232)

* fix: 치팅 및 네트워크 지연 해결

* comment: 디버깅을 위한 로그 추가

* fix: session과 fevertime 일시정지 동기화

* OCI용 CD 파이프라인 마이그레이션 (#234)

* fix: 치팅 및 네트워크 지연 해결

* comment: 디버깅을 위한 로그 추가

* fix: session과 fevertime 일시정지 동기화

* fix: 세션 예외 오류 해결

* feat: multipart 예외 핸들링

* refactor: CD 파이프라인 OCI로 마이그레이션

* fix: end response 분리

* OCI 경로 수정 (#236)

* fix: 치팅 및 네트워크 지연 해결

* comment: 디버깅을 위한 로그 추가

* fix: session과 fevertime 일시정지 동기화

* fix: 세션 예외 오류 해결

* feat: multipart 예외 핸들링

* refactor: CD 파이프라인 OCI로 마이그레이션

* fix: end response 분리

* fix: oci 경로 수정

* fix: oci 옵션 수정

* fix: shebang 추가

* fix: oci 옵션 수정

* fix: drain 경합으로 인한 409 해결

* 모니터링 추가 (#241)

* feat: drain 연결 종료 대기 추가

* feat: actuator 추가

* Grafana Env 추가 및 배포 스크립트 수정 (#243)

* feat: drain 연결 종료 대기 추가

* feat: actuator 추가

* feat: grafana 환경변수 추가

* refactor: 앱 컨테이너만 교체하도록 수정
Hwanvely added a commit that referenced this pull request Apr 14, 2026
* 피버타임 검증 시 점수가 두배가 되지 않는 현상 해결 (#226)

* fix: 피버타임 검증 시 점수가 두배가 되지 않는 문제 해결

* refactor: 바뀐 dto에 맞게 BIZ 및 test 수정

* 세션 일시정지시 피버타임을 멈추지 못하던 문제 해결 (#227)

* fix: 피버타임 검증 시 점수가 두배가 되지 않는 문제 해결

* refactor: 바뀐 dto에 맞게 BIZ 및 test 수정

* fix: 피버타임중 일시정지 시 피버타임도 멈추게 한다

* refactor: 인터페이스로 묶는다

* 피버타임 관련 문제 해결 (#228)

* fix: 점수 증가 로직 오류 해결

* fix: 스트릭 발생 시각을 받는다

* refactor: 네이밍 수정

* fix(test): 스트릭 발생 시각 추가

* fix: 피버타임 검증 시 일반 스트릭이 검증안되던 문제해결 (#229)

* fix: 피버타임 네트워크 지연 문제 해결 (#231)

* 피버타임 일시정지 동기화 및 지연시간 문제 해결 (#232)

* fix: 치팅 및 네트워크 지연 해결

* comment: 디버깅을 위한 로그 추가

* fix: session과 fevertime 일시정지 동기화

* OCI용 CD 파이프라인 마이그레이션 (#234)

* fix: 치팅 및 네트워크 지연 해결

* comment: 디버깅을 위한 로그 추가

* fix: session과 fevertime 일시정지 동기화

* fix: 세션 예외 오류 해결

* feat: multipart 예외 핸들링

* refactor: CD 파이프라인 OCI로 마이그레이션

* fix: end response 분리

* OCI 경로 수정 (#236)

* fix: 치팅 및 네트워크 지연 해결

* comment: 디버깅을 위한 로그 추가

* fix: session과 fevertime 일시정지 동기화

* fix: 세션 예외 오류 해결

* feat: multipart 예외 핸들링

* refactor: CD 파이프라인 OCI로 마이그레이션

* fix: end response 분리

* fix: oci 경로 수정

* fix: oci 옵션 수정

* fix: shebang 추가

* fix: oci 옵션 수정

* fix: drain 경합으로 인한 409 해결

* 모니터링 추가 (#241)

* feat: drain 연결 종료 대기 추가

* feat: actuator 추가

* Grafana Env 추가 및 배포 스크립트 수정 (#243)

* feat: drain 연결 종료 대기 추가

* feat: actuator 추가

* feat: grafana 환경변수 추가

* refactor: 앱 컨테이너만 교체하도록 수정

* chore: mysql-exporter 추가
Hwanvely added a commit that referenced this pull request Apr 14, 2026
* 피버타임 검증 시 점수가 두배가 되지 않는 현상 해결 (#226)

* fix: 피버타임 검증 시 점수가 두배가 되지 않는 문제 해결

* refactor: 바뀐 dto에 맞게 BIZ 및 test 수정

* 세션 일시정지시 피버타임을 멈추지 못하던 문제 해결 (#227)

* fix: 피버타임 검증 시 점수가 두배가 되지 않는 문제 해결

* refactor: 바뀐 dto에 맞게 BIZ 및 test 수정

* fix: 피버타임중 일시정지 시 피버타임도 멈추게 한다

* refactor: 인터페이스로 묶는다

* 피버타임 관련 문제 해결 (#228)

* fix: 점수 증가 로직 오류 해결

* fix: 스트릭 발생 시각을 받는다

* refactor: 네이밍 수정

* fix(test): 스트릭 발생 시각 추가

* fix: 피버타임 검증 시 일반 스트릭이 검증안되던 문제해결 (#229)

* fix: 피버타임 네트워크 지연 문제 해결 (#231)

* 피버타임 일시정지 동기화 및 지연시간 문제 해결 (#232)

* fix: 치팅 및 네트워크 지연 해결

* comment: 디버깅을 위한 로그 추가

* fix: session과 fevertime 일시정지 동기화

* OCI용 CD 파이프라인 마이그레이션 (#234)

* fix: 치팅 및 네트워크 지연 해결

* comment: 디버깅을 위한 로그 추가

* fix: session과 fevertime 일시정지 동기화

* fix: 세션 예외 오류 해결

* feat: multipart 예외 핸들링

* refactor: CD 파이프라인 OCI로 마이그레이션

* fix: end response 분리

* OCI 경로 수정 (#236)

* fix: 치팅 및 네트워크 지연 해결

* comment: 디버깅을 위한 로그 추가

* fix: session과 fevertime 일시정지 동기화

* fix: 세션 예외 오류 해결

* feat: multipart 예외 핸들링

* refactor: CD 파이프라인 OCI로 마이그레이션

* fix: end response 분리

* fix: oci 경로 수정

* fix: oci 옵션 수정

* fix: shebang 추가

* fix: oci 옵션 수정

* fix: drain 경합으로 인한 409 해결

* 모니터링 추가 (#241)

* feat: drain 연결 종료 대기 추가

* feat: actuator 추가

* Grafana Env 추가 및 배포 스크립트 수정 (#243)

* feat: drain 연결 종료 대기 추가

* feat: actuator 추가

* feat: grafana 환경변수 추가

* refactor: 앱 컨테이너만 교체하도록 수정

* chore: mysql-exporter 추가

* chore: p95,p99 메트릭 수집
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant