New to Nutbox?

[스몬봇] 배틀로직 수정

3 comments

realmankwon
83
2 years ago2 min read

안녕하세요 @realmankwon입니다.

금일 스몬봇 수정을 하였습니다.

1 . 1 시간 Lock 시 게임 진행 안 되도록 수정

스몬에서 1시간 lock 이 걸리면 1시간이 지난 후에 수동으로 게임을 진행해줘야 합니다.
1시간 lock 에 걸린 계정을 찾게 되어도 봇으로 게임을 진행한지 1시간이 지나지 않았으면 플레이를 하지 않도록 use play 컬럼에 체크를 해제해 주고 1시간 뒤에 수동으로 플레이를 해 주었습니다.
물론 이게 귀찮아서 어쩌다가 한번씩 보고 한번에 하고 있었습니다.
최근에 몽고 DB로 수정한 뒤에 많이 개선이 되었지만 몽고 DB 에 데이터가 점점 더 많이 쌓이면서 조회시 2분 30초가 지나면 다시 Deck를 못내어서 lock이 걸리더군요.
그래서 우선 lock 걸리면 use play 컬럼에 체크를 자동으로 해제하게 하여 게임이 진행되지 않도록 하였습니다.

2 . 2분 30초 내에 Deck 제출하기

앞서 언급한대로 몽고DB 의 조회량이 많아서 스몬의 Deck 선택 제한 시간인 2분 30초가 초과된 경우 Deck을 제출하지 않은 상태로 배틀이 종료되어 1시간 lock 이 걸리게 됩니다.
예를들면 스몬에서 보면 Deck를 제출하지 않은 것처럼 보이는 게임이 있습니다.

이 게임의 트랜잭션을 보면 다음과 같이 Deck을 정상적으로 제출하였습니다.

시간을 한번 살펴보면 게임이 시작된 시간은 11:40:15

Deck을 제출한 시간은 11:43:27

거의 3분 만에 Deck 제출하는 바람에 게임에서 진 것을 알 수 있습니다.

그래서 몽고 DB 에서 Deck을 찾기 직전에 setTimeout 으로 2분 20초 뒤에 Deck 을 자동으로 제출하도록 수정하였습니다.
다음과 같이 스모너만 제출하게 되는군요.

앞으로는 무탈하게 잘 처리가 되길 바랍니다!!

Comments

Sort byBest