해외아이피 막는다는 얘기 듣고 공지 구경이나 해 보러 왔는데, 이건... 어.... 상황이 묘하게 돌아가네요.
솔직히 저 패치 하건 말건 사이퍼즈하는 해외유저들한텐 1도 차이 없을거라 생각하는데 뭐 배려니 매너니 하면서 막상 한국 사시는(막상 해외유저들이나 렉에 대해 잘 아는것같진 않으신) 분들이 서로 막 싸우시는 분들도 계시고.. 그래서 그냥 몇 자 적어나 봅니다.
1. 해외렉이란게 정확히 뭐고 대체 왜 생김?
글로벌서버 얘기가 많이 나오니, 글로벌한 체고 인기 게임 롤과 비교해보죠.
롤에서 내가 어떤 행동을 취한다고 입력을 하면 그 '입력'을 서버로 보내서 모든 정보를 라이엇 IDC센터(서버)에서 연산하고 내 클라이언트로 연산이 끝난 결과물을 다시 쏴주는 방식을 취합니다.
즉, 롤에서 핑이 높다는건 단순히 '내 컴퓨터'와 '라이엇 서버'간의 핑-퐁만이 늦다는 얘기이고 타 유저들에겐 아무 상관이 없지요. 내가 입력한 움직임이 핑만큼 늦게 서버에 들어갈 뿐이므로 그만큼 내 반응속도가 느려질 뿐 그 게임에 연관된 타 클라이언트들은 관계 없이 내 클라이언트-서버 간의 1:1 소통이 끝납니다.
다만 사이퍼즈의 방식은 다릅니다. 사이퍼즈에선 내가 특정 행동을 입력하게 되면 클라이언트에서 일단 모든 연산을 다 합니다. 다 하고, '이 클라이언트의 얘가 이렇게 했대!' 라는 '결과'의 패킷을 보내게 되죠. 보통 해외렉때문에 짜증을 호소하시는분들 보면 '분명히 맞았는데 변이를 쓴다' '분명히 내가 먼저 때렸는데 크로스카운터가 난다' 뭐 이런 분들이실거에요. 대입해보면 간단합니다.
1. 내 컴퓨터에선 내가 쟤를 때렸어! 하고 보냈습니다.
2. 근데 핑이 높은 저 쪽에서도 나도 이걸 때렸어! 라고 보내게 됩니다.
3. 그러면 우리의 멍청한 사이퍼즈 서버는 저 두 결과물을 둘 다 스까서 게임에 적용시켜버립니다. 어느 쪽 유저에게나 '내가 먼저 때렸는데 쟤가 맞더니 같이 때림'으로 보이게 되죠. 이게 '내가 먼저 때렸는데 크로스카운터가 난다' 혹은 '분명히 한대 맞고 경직 없이 도망간다'의 진상입니다. 변이도 똑같아요. A는 '나는 변이 스킬을 성공적으로 발동시켰어!' 라는 결과를 보내고, B는 '나는 쟤가 변이를 쓰기 전에 분명히 때렸어!' 라는 결과를 보낸다면 서버는 그 두가지 결과를 다 게임에 적용시키는겁니다.
이 방식의 차이에 의해 롤은 헬퍼의 알고리즘을 짤 수 있게 되고 사이퍼즈에선 클라이언트에서 단순 수치조작을 행하는것만으로 핵을 쓸 수 있게 되지만 뭐 이건 다른 얘기니 넘어가고...
게이머 입장에선 당연히 전자의 방식이 좋습니다. 실제로 사이퍼즈보다 훨씬 더 정밀한, 프레임단위 패킷교환을 요구하는 격투 게임 네트워크 플레이 서버들도 전자의 방식을 취하구요. 다만 한국 온라인게임들은 거의 대부분 후자의 방식으로 서버를 돌립니다. 이게 왜 이런지는.. 그쪽 업계 사람이 아니라 모르겠지만 아마 물어보면 예산 때문이라고 하겠죠 뭐.
2. 그래서 이번 공지가 정확히 의미하는 게 뭐임?
우선 여기에 대해 적기 전에 미리 말씀드리고싶은 게 있는데, 사이퍼즈는 과거에 본의 아니게 해외유저 차단을 이미 하고 있었습니다.아마 피터 업데이트..쯤이었을거에요. 당시 게임이 시작되는 순서는 조커팀 로고가 뜨고 -> 로딩창이 뜨고 -> 그 다음 현재같이 인게임 게임스타트 버튼 없이 바로 트와일라잇으로 들어가는 방식이었는데요, 당시 저 로고와 로딩창의 사이에 핑테스트 비슷한 게 하나 있었습니다. 만약 저기서 패킷을 정상적으로 주고받지 못하면 클라이언트가 그대로 굳어버리는 버그(...)가 있었지요. 어느샌가 저게 없어졌는지는 잘 기억이 안나는데, 없앤 이유는 로딩중 튕김현상 완화인가 그랬던 거 같습니다.
여튼.. 이번 공지에 뜬 '해외유저 아이피 원천 차단'도 결국 방식은 비슷할겁니다. 핑테스트를 하건, 아이피 검사를 하건, 결국 '접속시'에만 한번 쓱 보고 말거란얘기죠. 실제로 저게 아니라 좀더 인뎁트한 처치를 할거였다면 '해외유저 막겠습니다 ㅅㄱ'같은 어중간한 조치보단 '핑이 일정 이상으로 튈 경우 게임모드 입장제한'같은 좀 더 효율적인 조치를 취했을거고...
그리고 만약 이 가설이 옳다면 이 해외유저 차단은 실제론 아무 의미도 없습니다(...)
공홈 댓글에 어떤 분이 작성한대로, 중국에선 과거 퍼블리싱때문에 국내 사이퍼즈쪽이 차단되어있기 때문에 '어차피' 접속할땐 한국 VPN을 사용합니다. 저걸 걸러낸다? 불가능합니다.
게다가 유료 VPN일 필요도 없어요. '접속' 단계만 거르면 되는거니까.. 대부분의 VPN사이트들은 5분~1시간 사이에 한번씩 끊어주는 홍보용 무료 VPN 서버들을 하나씩은 운영하고 있고, 개중에 대충 하나만 골라다 접속만 하고 꺼버리면 그만이니까요.
이 과정마저 귀찮다고 안 할 사람 정도는 쫓아낼 수 있겠죠. 근데 굳이 외국까지 나가서 인기도 별로 없는 한국게임 굳이 찾아다 하는 사람들이 VPN 켰다껐다 하기 귀찮다고 게임을 안 할까요? 솔직히 눈 가리고 아웅밖에 안 됩니다.
3. 그럼 어쩌라고?
해결책은 제가 제시할 게 아니고 조커팀이 해결할 일이죠 뭐.
이 게임 이제 하지도 않지만 돈 쓴 거 환불도 안해줄거면서 그냥 꺼졍 하는건 좀 괘씸하기도 하고, 제가 거기서 월급받는 입장도 아니고 ¯\_(ツ)_/¯
뭐 알아서 하겠져! 설마 일은 저질러놓고 나중에 문제 나오면 어 그건 저희가 당장 처리할수 없는 사항입니다 ㅎㅎ 하고 마는 무책임한 짓을 우리 조커팀이 하려구!
PS.
여담인데 강제기상이나 건물이나 미니언에 데미지가 안 들어가는 등의 현상은 보통 패킷 로스 문제입니다. 간단히 말해서 "얘가 누웠어!" 나 "저걸 때려서 얼마의 데미지를 넣었어!"에 대한 정보가 조정을 해야 할 서버에 아예 안 닿아버리는거에요. 타 겜에서 이런 일이 일어나면 보통 방이 갈려버리거나 서버가 알아서 어 그래? 근데 그 소소한 부분이 빠지더라도 나머지 진행을 보면 이렇게 되야 정상이야. 하고 조정을 해주는데 사이퍼즈에선 그런 거 없는 것 뿐입니다. 단순한 해외유저인가 아닌가랑은 좀 다른 얘기에요.