현업에서 서버 구축
816
작성한 질문수 2
안녕하세요. 두 가지 질문이 있습니다.
현업에서 서버 구축할 때 게임 만들 때 마다 매번 socket 기반작업과 관련된 구현(iocp 로 socket session manager, serializer 등등) 을 하나요? 웹서버 프레임워크처럼 게임서버 프레임워크같은건 사용 안하나요? 게임마다 조금씩은 다르겠지만 공통적으로 구현해야 하는 부분이 많을 것 같아서요. 만약 사용한다면 어떤 프레임워크를 자주 사용하나요?
또 다른 질문이 있는데요. object 간의 collison 같은 건 서버에서 확인하나요? 예를 들어 철권같은 게임에서 player 1 이 player2 를 때렸다면, 맞았다는 판단은 서버에서 내린 후 player1 과 player2 에게 전달되나요? 만약 그렇다면(서버에서 collison을 확인한다면) 서버에 물리엔진? 같은게 구현되어 있어야 할 것 같은데 그러면 좀 이상한 것 같고 그렇지 않다면(서버에서 collison을 확인하지 않는다면) 유저가 colision 을 판단해야 하는데 시간 차이때문에 서로 다른 판단이 일어날 수도 있고 packet 을 조작해서 맞았다고 하기도 쉬울 것 같아서요. 철권같이 판단에 아주 민감한 게임을 만들려고 하는데, 어떻게 하는게 좋을까요? 이미 알려진 아키텍쳐같은게 있다면 키워드로만 알려주시면 제가 찾아보겠습니다.
강의 잘 듣고 있습니다.
답변 1
1
현업에서 서버 구축할 때 게임 만들 때 마다 매번 socket 기반작업과 관련된 구현(iocp 로 socket session manager, serializer 등등) 을 하나요?
-> 그건 아니고 회사마다 레거시 코드가 있습니다.
리니지 계열, 블소 계열 이런 식으로 서버가 있고 돌려 쓰는거죠.
처음부터 작업할 수 있는 프로그래머가 많진 않습니다.
웹서버 프레임워크처럼 게임서버 프레임워크같은건 사용 안하나요? 게임마다 조금씩은 다르겠지만 공통적으로 구현해야 하는 부분이 많을 것 같아서요. 만약 사용한다면 어떤 프레임워크를 자주 사용하나요?
-> 대부분 자체 제작으로 합니다.
또 다른 질문이 있는데요. object 간의 collison 같은 건 서버에서 확인하나요?
-> 당연히 수학적 연산을 서버에서 시뮬레이션 합니다.
예를 들어 철권같은 게임에서 player 1 이 player2 를 때렸다면, 맞았다는 판단은 서버에서 내린 후 player1 과 player2 에게 전달되나요?
-> 물론 그래야 합니다.
철권같이 판단에 아주 민감한 게임을 만들려고 하는데, 어떻게 하는게 좋을까요?
-> 철권이나 롤, FPS 같이 프레임에 민감한 게임은
클라가 서로 상황을 다르게 오인하면 곤란하기 때문에
고정 프레임 (ex. 30프레임)으로 잡고
서버 또한 고정 프레임으로 돌면서 연산을 해야 합니다.
Memory Pool에서 오버플로우 질문입니다.
0
63
2
포토폴리오 및 진로 관련하여 고민입니다.
0
112
1
포토폴리오 관련 고민입니다.
0
62
1
실무에서도 alloc, 스마트포인터 등을 구현해서 쓰는지 궁금합니다.
0
82
2
성능 테스트 결과
0
103
2
게임 서버 Stateful, Stateless 진로 고민
0
121
1
WaitOnAddress와 Sleep의 차이 질문
0
83
1
궁금한거 있습니다.
0
82
2
JobTimer 구동 스레드
0
107
2
TryPop() 동작 관련 질문
0
81
1
로드맵 C#서버 C++서버 방향성 질문
0
148
2
스레드 id를 출력할떄 메인스레드 id도 출력되나요?
0
73
1
생명주기를 위한 의도적 복사
0
86
2
락프리의 실무에서 사용 질문
0
139
2
32bit threadID와 16비트 상위 WriteFlag에 대해
0
101
2
mutex와 sleep 차이점
0
117
1
실무에서는 어떠한 코드 스타일을 사용하는지 궁금합니다
0
152
2
Stomp Allocator의 Release함수에 대한 질문입니다.
0
96
1
공부법 관련해서
0
183
2
MakeShared 함수 관련
0
114
1
지금까지 서버코어에서 만든 내용에 대해 궁금한 점이 있어서 질문 드립니다.
0
144
2
운영체제관련 질문입니다
0
131
1
send하려는 데이터 크기가 크면 memcpy에서 문제가 발생할 것 같습니다.
0
117
2
메모리 풀 질문있습니다.
0
124
1





