응 아니야

안녕하세요. 당이천입니다.

 

서버는 클라이언트에게 서비스나 정보를 제공하는 프로그램 또는 장치를 말합니다.

 

서비스나 정보의 제공은 클라이언트의 요청에 의해 이루어집니다.

우리가 인터넷 브라우저를 켜서 구글에 접속하면, 브라우저를 켠 우리는 클라이언트, 구글은 서버입니다.

구글 주소를 입력하고 구글 검색창이 보이면 클라이언트인 우리가 서버인 구글에게 메인화면 정보를 요청해 받아온 것입니다.

결과를 회신한 서버는 일을 마쳤고 우리는 그것을 읽으면 됩니다. 이 과정을 인터넷 통신이라 합니다.

 

익히 해보셔서 잘 아시죠?

서버가 뭐고 뭐 어떻게 돌아가는 지는 이쯤 알면 됐습니다. 이 다음은 저도 몰라요.

 

서버가 되는 것은 의외로 쉽습니다.

마크를 한 번이라도 해봤다면, 이미 우리느 서버가 되어본 적이 있습니다.

 

싱글플레이로 내 맵을 켜면 끝입니다.

서버를 연 것이죠.

 

?

 

서버를 열어요?

 

마인크래프트 싱글플레이는 사실 맵 로딩중에 서버를 실행합니다.

눈에 보이지는 않지만 실제로 실행되고 게임의 연산을 맡습니다.

물이 흐르고 작물이 자라며 몹과 내가 움직이며 채팅을 할수도 있습니다.

이 서버를 '통합서버'라고 합니다.

그 서버에 내가 접속하는 방식이기 때문에 위에서 '서버를 열었다'고 했습니다.

말장난 같지만 알고보면 말장난 아닌데 남들은 못들어오니 말장난이기도합니다.

랜서버가 있으니 포트만 지정해주면 또 말장난이 아니게 됩니다. 아무튼,

남들이 들어오지 못하는 나만의 서버에 나 혼자 접속했기 때문에 싱글플레이라고 합니다.

:: 랜서버는 따로 글을 써서 올리겠습니다. 여기선 패스.

 

- 랜서버 열기라는 버튼을 누르자마자 유저가 접속할 수 있는 이유는 이미 실행된 통합서버에 남들이 들어올 수 있도록 포트를 할당해주는 간단한 작업만 하면 되기 때문이고

- 같은 사양의 컴퓨터로 같은 맵을 플레이 하더라도 다른 사람이 열어준 서버에서 하는 것보다 싱글맵에서 하는 것이 더 버벅이는 것은 통합서버를 내가 실행하기 때문입니다. 무슨 폭탄돌리기도 아니고.. 아무튼. (사양이 빵빵하면 아예 못느낄 정도지만 따져보자면 그렇다는 얘깁니다.)

 

사실이 이러하니, 이미 우리는 나 자신이긴 하지만 서버로 클라이언트에게 서비스와 정보를 제공한 적이 있습니다. 그렇죠?

 

이제 우리는 이걸 나 아닌 다른 사람도 접속할 수 있게하고, 그들에게 정보나 서비스를 제공할 수 있는 방법 그리고 이 과정에서 알아야하는 몇가지 개념에 대해서 다음장부터 알아보겠습니다.

 

감사합니다.

 

 

왜? 어째서? 싱글 플레이에 서버를 뿌렸나?

 

[

1.3 이전엔 클라이언트와 서버가 한 몸이었습니다.

그래픽 렌더링과 물리 연산 등이 같은 스레드에서 실행되었습니다.

화려한 맵?에 들어가서 렌더링에 렉이 걸리면 화면만 멈추고 연산은 해야하는데 둘다 멎었습니다.

연산할 게 많은 맵에 들어가서 텅 빈 곳을 쳐다봐도 화면이 멎었습니다.

특히 물 퍼짐, 레드스톤 장치, 엔티티 겹침이 이런 현상을 자주 일으켰습니다.

이것을 해결하기 위해 클라이언트는 그래픽을, 서버는 연산을 맡도록 나뉘었습니다.

- 라고 구글신레딧친구가 알려줬습니다. -

]

공유하기

facebook twitter kakaoTalk kakaostory naver band