실시간 유저 정보/뉴스

전체보기

모바일 상단 메뉴

본문 페이지

[뉴스] 내부자가 말하는 유령탄에 대한 설명

아이콘 닐니리닝구
댓글: 21 개
조회: 3228
추천: 3
2015-07-24 00:22:24
the Insider returns to give us some insight into the ghost shell issue. This info is gleaned from a discussion between two developers. As usual, take it with a grain of salt as an interpretation of what the developers said.
워게이의 두 개발자 간의 이야기로부터 얻은 정보를 땡큐하게도 내부자가 전해줬다네요

사실 뭐 관심 있으신 분들 빼고는 별 필요도 없는 정보이고, 길기도 하니 내용은 간략하게만 요약해서 번역하겠습니다
저도 뭐 재미로 하는 거니까ㅎㅎㅎ

Short description 짧게 설명하자면..

The problem is not the servers nor the clients, it's actually a BigWorld engine fault process that begins when the server fails to calculate a penetration value. In layman terms, here's the process (missing a few filler elements such as shell travel time, tank velocity, gun arc, type of shells, etc etc etc. for the sake of simplicity):
유령탄 문제는 서버측 문제도, 클라이언트측 문제도 아닙니다. 사실 이건 서버가 관통 수치를 계산하는데 있어서 실패했을 때 빅월드 엔진 측에서 발생하는 연산오류입니다. 간단히 말해서, 다음과 같습니다(간단히 설명하기 위해서 탄속이나 탱크속도 등등의 문제는 설명에서 제외하겠습니다)

- client is driving
클라이언트에서 탱크가 달림

- server receives the "drive command" replies back "you are now driving" and sometime later it determines there is an enemy  tank in sight that the client can see, so it sends the data back saying "you have a tank in sight"
서버가 운전명령을 받고나서 '너 님 운전하고 있음'하고 클라이언트에 다시 정보를 보냄. 유저가 탱크를 스팟한 경우 서버에서 클라이언트에 '너님 시야에 탱크있음' 하고 알려줌

- client now sees enemy tank
클라이언트측에서 이제 적 탱크가 보임

- server acknowledges the tank is there and all the aiming mechanics occur
서버가 탱크가 거기 있음을 알고 조준 메카닉이 발동함

- client shoots at tank
클라이언트에서 탱크를 향해 발포

- server acknowledges the client has shot and triggers the reload timer for the client while also processing the penetration value of the shell, angle, RNG (+/-25%), area to damage and determines, if theres a penetration/ricochet or damage to any internal modules (shoot commander's hatch, driver dies! *trollface*) or (shoot driver's compartment, suddenly tank gets tracks damage *trollface v2*) (Insider: actually this is explained by ricochets inside the tank, but ill leave it at that).
서버측에서 클라이언트가 발표했다는 걸 알고 클라이언트에 리로드 타이머를 발동시킴. 그리고 탄의 관통수치, 각도, 랜덤값, 데미지 입는 공간 등등등을 계산함
(아 근데, 커맨더 해치를 쐈는데 드라이버가 죽거나, 간혹 운전수 공간을 쐈는데 트랙도 끊어지는 경우가 있는데 이건 사실 탱크 내부에서 도탄이 일어나서 그런 거임. 이 이상의 설명은 생략)

- Bigworld engine which is running along the streamline of the server fails to process the client request and delivers a "null"
서버를 따라가던 빅월드 엔진에서 클라이언트 요청을 계산하는 데 실패하고 '무효값'을 전달함

- Server: hey, but I just sent the data!
서버: 야, 데이터 보냈잖아 생퀴야

- Bigworld: yes and I say it's null, now obey!
빅월드: 어 알어, 근데 난 무효값이라고 말했잖어, 따르라!

- Server: ??? okay ._.
서버: ??? 어엉;;

Server sends the ping back with null value: "lel, tank wasn't there". Client displays a ghost shell event in return.
서버가 무효값으로 핑을 돌려줌. "탱크 거기 없었슈!" 유령탄이 발생함.



What causes this failure?

There are some key events related to it regardless of ping, it can be several factors such as microlags, this is a very minimal packet loss (I'm talking bits, not even bytes in size) that the server can interpret as "noise" (partially unrecoverable packets). This is influenced by a lot of stuff, depending on client connection quality, distance and even interferences, server micro overloads, etc.
핑이랑 관계없이 마이크로랙이 발생하게 되는데, 이는 미세한 패킷 로스(비트급도 아니고 바이트 정도의 크기로)가 발생하면서 노이즈가 생기는 것이 문제라고 할 수 있다는 내용

Can it be corrected? Yes, absolutely, but this isn't about server quality or connection (I'll explain more down below), its about the game's Bigworld engine that would require a patch. Technically the server always is set to respond on every shell fired, the bug is indeed, rare because Bigworld simply forgot to receive the data from the server because of the "noise".
그래서 고쳐질 수 있는가? 물론 고쳐질 수 있는데, 이건 서버 퀄리티나 접속 퀄리티와는 관계가 없는 거고, 빅월드 엔진를 패치해야 하는 문제다. 원칙적으로 서버는 늘 모든 탄환을 계산하기 때문에, 빅월드가 노이즈 때문에 데이터를 수신받는 걸 실패하면서 발생하는 문제다. 매우 드물게 발생함다.


It's not a fatal error and i can safely say that about 90% of the cases reported as ghost shells are actually not the bug described above and are related to lag or small de-synchs from the client-server (again, caused by factors such as servers being used between the connection from the client to the server as an example: telia.net and its faulty level2 server that some time ago was the bane of many issues on the NA community).
이건 아주 치명적인 에러는 아니고(는 물론 유저 입장에서는 생과 사를 가르는 문제지만..:역주)
보고된 사례의 90%의 경우에도 유령탄 버그가 아니라 클라이언트와 서버간 싱크가 어긋나면서 생기는 문제다.

I'm sorry I'm not a super tech wiz and I tried to explain in the most simpler manner as possible, I'm sure an IT expert would be able to explain much better this term about microlags and discrepancies. But yes, the bug is real and detected, but the patching process is the "complicated one" because the server "doesn't acknoledge" it's missing anything.
뭐 더 쉽고 명확하게 설명해줄 수 없어서 미안하지만 암튼 결론적으로 유령탄을 진짜로 있는 버그고 발견이 되었다. 하지만 패치하는 작업은 까다로울 것 같다. 왜냐면 서버가 잘못을 감지하지 못하고 있으니깐.

So, how common is this bug?
그럼 이 버그가 얼마나 자주 발생하는가 묻는다면

It's extremely hard to give an accurate number -but in a rough estimate, it can happen to any client, regardless of geolocation or hardware configuration at least once a day and very rarely it occurs more than once in a single match (very important: No, I'm not saying it happens every match, I'm saying that when it happens in the match, it's most likely it won't repeat itself during THAT match).
정확한 수치를 말해주기는 느므 어렵고, 암튼 뭐 하드웨어나 어떤 지역 섭이든 상관없이, 어떤 설정이든 상관없이 어떤 클라이언트에도 적어도 하루에 한번 쯤 발생할 수 있다. 아주 드문 경우로 한 매치에 두번이상이 발생하는 경우도 아주 가끔 발생하는듯.(여기서 중요한점: 매 매치마다 유령탄이 발생한다고 말하는 게 아니다. 한 매치에 2번 이상 발생하는 경우가 가끔 있다는 걸 말하는 거다)

So whats the issue then? The ghost shells needs to be fixed in 2 areas and are considered separate issues:
그럼 어떻게 고칠 수 있나? 2가지 영역에서 픽스가 이루어져야함둥

1 - is the bug caused by the de-synchs between client-server (microlags) (VERY hard to fix, because a ton of factors are involved, usually caused by  connection issues between the computers between the connection of servers-client).
마이크로랙을 줄여야 함둥(근데 너무 많은 변수가 연산되고 컴퓨터와 서버간의 연결 문제로 발생하기 때문에 존나 고치기가 힘듬)

2  - bugs of Bigworld becoming a pony - can be patched by psychotherapy or an update of the engine with a hotfix in the future.
빅월드 엔진 자체를 픽스해야함둥

WoT Cbox isnt reporting that issue btw.
WOT Cbox (엑박 오타인가?) 에서는 이런 문제가 보고되고 있지 않음

I hope this helps and stops making it a mystery. As a little ways off to explain, and with a bit of fun:
이제 유령탄에 대해서 이상한 소문이 돌지 않았음 좋겟고, 암튼 이런 연유임다. 이해가 되시는지?

Other games had this kind of issue  (desynchs causing bugs) in the past where this was more than an issue, it was actually exploited. I am referring to World of Warcraft. Back in WOTLK/CATA there was this kind of issue, fortunately the engine of WoW has been more than 12 years in the making and pretty much it has been over researched. Back then you could see gold seller advertising made of dead bodies by exploiting the game engine by making the characters "jump-exploit lag" until they reached a height where they would die from the fall and, eventually, forming a word. This is no longer the case for WoW.
WoW(월드오브워크랲)에서도 이런 연유로 발생한 버그가 있는데 자세한 번역은 생략한다

Lv57 닐니리닝구

모바일 게시판 하단버튼

댓글

새로고침
새로고침

모바일 게시판 하단버튼

지금 뜨는 인벤

더보기+

모바일 게시판 리스트

모바일 게시판 하단버튼

글쓰기

모바일 게시판 페이징

최근 HOT한 콘텐츠

  • 월탱
  • 게임
  • IT
  • 유머
  • 연예
AD