Joonas' Note

Joonas' Note

로스트아크 서버 뚫은 이야기 (feat. 서버 상태 알림 봇) 본문

개발/python

로스트아크 서버 뚫은 이야기 (feat. 서버 상태 알림 봇)

2019. 1. 31. 06:43 joonas

    스마일게이트에서 출시한 "그 게임", 로스트아크(LostArk)

    친구의 권유로 한번 시작해볼까 했습니다. 하지만,


    (사진 출처: https://brunch.co.kr/@clay1987/99)

    예. 캐릭터 생성 불가의 벽에 막혔습니다.

    이미 시작한 친구들은 전부 프로키온에 있더군요. 이건 민주주의 사회에서 다수결 원칙에 따라 저는 프로키온을 가야했습니다.

    그렇게 새해 첫날부터 그 유명한 로스트끼룩을 경험했습니다.

    뚫어야 한다

    저는 프로키온 서버에 제 캐릭터를 만들기 위해서 조금의 노력을 기울여봤습니다.

    어떤거냐구요? 이 문단의 여백이 부족하여 아래에 따로 적었습니다. 하지만 노가다라는 것은 변함이 없습니다.

    로스트아크 인벤을 보면 '서버 현황 게시판'이라는 것 까지 있더군요. 서버 뚫기가 얼마나 어려운 지 여기서부터 아차싶었습니다. S..T...A...Y....

    그런데 이게 화면을 계속 보면서 클릭하는게 굉장히 지루하고 반복적이고 사람이 할 게 못된다는 생각밖에 안 듭니다.

    잠깐, 사람이 할 게 못된다..?


    일해라, 기계녀석

    제4차산업혁명의 키워드는 자동화라고 어디선가 어설프게 주워들었습니다. 그리고 저는 그것을 좋아하죠.

    캐릭터 생성 불가가 풀리면 캐릭터를 자동으로 생성해주는 프로그램을 만들면 좋겠지만, 이건 (여러 이유로) 난이도가 꽤 높아보입니다. 아마 개발 시간보다 사용 시간이 짧을 것 같습니다.

    우선 저는 당장 서버를 만들고싶은 마음이 크기에 빠르게 개발할 수 있는 게 뭐가 있을까 고민한 결과, LoaQ라는 실시간 대기열 정보 사이트가 있더군요. 마력의 원천은 항상 외부에 있듯이 저는 이 곳의 힘을 빌리기로 했습니다. 

    우선 요구사항은 이랬습니다. 어떤 서버의 캐릭터 생성 불가가 해제되면 이불에서 귤 까먹던 저에게 푸시 알림이 오는 것이죠. 아, 벌써부터 안락함이 몸에 사무치는 것 같네요.
    아무튼 푸시 알림이 오는 즉시 딴짓을 하다 말고 바로 로스트끼룩에 접속해서 해당 서버에 캐릭터를 만들고 싶었습니다.

    결과

     
    와! 생성가능! 와! 푸시알림!

    2개 밖에 되지 않던 요구사항을 모두 만족한 프로그램이 약 70분만에 개발되었습니다.

    이로써 저는 서버선택창으로부터 자유로워졌다고 생각했습니다. 하지만... 

    서버는 제가 자거나 밖에 있을 때 열리더군요. 이게 그 머피의 법칙인가 뭔가 맞죠? 유사과학 인정합니다.

    아무튼 그로부터 꽤 긴 시간이 지났고, 현재의 저는

    예. 모든 서버를 뚫었습니다.

    어떻게 동작하나요?

    파이썬(Python) 스크립트를 작성하였구요, 이를 제 개인 서버에서 계속 실행되도록 했습니다.

    이 스크립트는 LoaQ에서 대기열 데이터를 받아서 변화를 감지하면 로그와 함께 푸시 알림이 요청되도록 했습니다.

    푸시 알림은 Pushbullet이라는 앱과 그 곳에서 제공하는 API를 통해서, 제 프로그램이 보낸 메시지를 아이폰에서 확인할 수 있게 했습니다.

    서버 뚫는 팁

    팁이라 적고 노가다를 하는 여러가지 방법이라 읽으시면 됩니다.

    1. 서버 선택창 새로고침
    서버 선택 화면에는 새로고침이라는 버튼은 없지만 그러한 개념은 있습니다.
    (캐릭터 생성이 가능한) 아무 서버에 접속하여 캐릭터 선택 화면을 보고 다시 서버 선택 화면으로 돌아오면 서버들의 상태가 갱신됩니다.

    2. 로아 인벤 - 서버 현황 게시판
    글의 젠률이 엄청 낮지만, 집단 지성과 제보의 힘을 믿을 수 밖에 없습니다. 아마 이 방법부터 기도 메타의 시작이라고 생각합니다.

    3. LoaQ 채팅
    LoaQ 사이트의 실시간 대기열 분석 페이지를 보면 아무나 대화할 수 있는 채팅방이 있습니다. 여기서 실시간 제보를 기다리는 것도 방법입니다. 하지만 선동과 날조의 비율이 많으니 그저 참고하시는 것이 좋습니다.

    4. 정기 점검, 임시 점검
    역시 온라인 게임의 4대 명검이라는 옛 조상의 말은 틀리지 않습니다. 이 방법은 가장 확실합니다.
    로스트아크는 매주 수요일 오전 6~10시에 정기 점검을 합니다. 점검이 끝나고 약 1시간동안 서버가 자주 열립니다.

    소스 전체, 그리고 뒷 이야기

    소스 코드: https://github.com/joonas-yoon/lostark-server-alarm

    언제부터인지 모르겠지만, 목표로 하던 프로키온 서버를 뚫은 이후로는 전혀 사용하지 않았습니다. 그리고 로헨델 업데이트 이후 그 어렵다던 루페온 서버까지 오랜 시간동안 열려있습니다. 드디어 이 스크립트가 필요없는 평화의 시대가 도래한 것 같네요.

    그리고 LoaQ의 반응 속도가 생각보다 느립니다. 수작업으로 관리하신다고 하니까 이 부분은 그저 감사한 마음으로 사용할 뿐이었습니다.

    아무튼 갑자기 생각나서 블로그 포스팅 겸 오랜만에 살펴보았더니

    서버로부터 밴을 당한 것 같네요.

    그럼 이만.

    Comments