본문으로 이동
[NDC] 실버바인 서버 엔진 2 설계 리뷰
컨퍼런스

[NDC] 실버바인 서버 엔진 2 설계 리뷰

NDC 넥슨 · YouTube

원문 보기

AI 핵심 요약

마비노기 듀얼용 서버 엔진 1은 빠른 출시와 안정적인 서비스에는 맞았지만, 다른 게임에 재사용하기 어렵고 지연 시간과 리팩터링에 한계가 있었다. 이를 개선하기 위해 데브캣 스튜디오는 여러 프로젝트가 함께 쓸 실버바인 서버 엔진 2를 만들고, 프로젝트 도입을 쉽게 하면서 장애 위험과 개발 비용을 낮추는 것을 설계 목표로 삼았다. 게임 로직은 C#의 비동기 처리와 파이버를 활용한 싱글 스레드 모델로 구성하고, 데이터 저장은 엔진 API와 코드 생성, 유저 단위 락으로 안전성을 높였으며 세션 핸드오버와 가상 액터로 서버 간 기능 분산을 지원했다. 엔진을 공용으로 만들면 서버 개발 노하우를 코드와 도구에 축적해 여러 팀에 전파할 수 있다는 점이 핵심 교훈이다.

  • 서버 엔진의 성공 기준을 매출보다 여러 프로젝트의 도입, 장애·데이터 손실 위험 감소, 개발 비용 절감에 두었다.
  • 게임 로직은 싱글 스레드에서 비동기적으로 실행하고, 파이버로 대기 작업을 처리해 멀티스레드 프로그래밍 부담을 줄였다.
  • 데이터베이스 접근을 엔진 API로 제한하고 스키마 코드 생성을 활용하면 잘못된 쿼리와 인덱스 누락을 예방할 수 있다.
  • 유저 단위로 명시적 락을 잡고 락 순서를 컴파일 단계와 실행 시점에 검증해 동시성 오류를 줄였다.
  • 세션 핸드오버와 가상 액터를 이용하면 서버 프로세스가 바뀌어도 세션을 복구하고 기능을 분산할 수 있다.

소개

NDC 2018 [실버바인 서버 엔진 2 설계 리뷰] 세션 공유드립니다. 상세 내용은 NDC Replay 홈페이지를 참고 부탁드려요. 😊 1. 발표자 성함 : 이승재 2. 발표자 소개 : 데브캣 스튜디오에서 실버바인 서버 엔진 2를 만들고 있습니다. 마비노기 듀얼, 마비노기 2, 데스크탑 히어로즈 카바티나 스토리 개발에 참여했습니다. 3. 세션 소개 : 2016년 이후 데브캣 스튜디오에서 개발하는 모든 게임에서 서버 엔진으로 사용하고 있는 실버바인 서버 엔진 2의 설계 결정을 리뷰합니다. 서버 엔진이라는 도메인 영역을 어떻게 분할해서 공략했고, 그 과정에서 어떤 가치를 중요하게 여기고 의사결정했는지를 개략적으로 다룹니다. 감사합니다. 본 NDC 발표 동영상(이하 “저작물”이라 합니다)에 대한 저작권 (2차적저작물작성권 및 편집저작물작성권 포함)은 해당 저작물의 저작자(발표자 포함) 또는 (주)넥슨코리아 (이하 “권리자”라 합니다)에게 귀속되며, 권리자의 허락 없이 ...

비슷한 학습 자료

컨퍼런스 NDC

● 설문조사: https://forms.gle/fQp2bW5VrSQGTSaR9 ↓ 아래를 펼쳐, 세션 상세정보를 확인하세요! ● 발표분야: 프로그래밍 ● 발표자: 데브시스터즈 용찬호 ● 권장 대상: 서버 프로그래머, DevOps 및 인프라 엔지니어 ● 키워드: #클라우드 #쿠버네티스 본 NDC 발표 동영상(이하 “저작물”이라 합니다)에 대한 저작권 (2차적저작물작성권 및 편집저작물작성권 포함)은 해당 저작물의 저작자(발표자 포함) 또는 (주)넥슨코리아 (이하 “권리자”라 합니다)에게 귀속되며, 권리자의 허락 없이 이를 상업적으로 이용하거나 무단으로 도용, 편집, 2차적저작물을 작성, 공중송신, 배포할 수 없습니다.

데브옵스 · 인프라

컨퍼런스 NDC

NDC 2019 [실버바인 대기열 서버 설계 리뷰] 세션 공유드립니다. 상세 내용은 NDC Replay 홈페이지를 참고 부탁드려요. 😊 1. 발표자 성함 : 강성훈 2. 발표자 소개 : 대학원에서 프로그래밍 언어 전공으로 석사 졸업 후 여러 벤처기업에서 백엔드-프론트엔드와 아키텍처를 가리지 않고 개발을 해 왔습니다. 넥슨에서는 〈마비노기 듀얼〉의 서버 프로그래밍을 담당한 뒤, 오랫만에 전공을 살려 카일루아라는 언어를 개발하였고, 현재는 실버바인 서버 엔진 2의 개발에 참여하고 있습니다. 리듬게임, 난해한 프로그래밍 언어, Rust 등의 키워드로 검색해 보면 흑역사가 튀어 나오기도 합니다. 카일루아 관련 발표: NDC2016 "〈마비노기 듀얼〉 서버, 동적 타입 언어에서 반 정적 타입 언어로의 변신", NDC2017 "내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기" 실버바인 서버 엔진 2 관련 발표: NDC2018 "실버바인 서버 엔진...

백엔드

컨퍼런스 NDC

NDC 2019 [게임 서버의 목차 - 시작부터 출시까지] 세션 공유드립니다. 상세 내용은 NDC Replay 홈페이지를 참고 부탁드려요. 😊 1. 발표자 성함 : 홍성우 2. 발표자 소개 : 데브캣 기반개발팀 소속으로 〈실버바인 서버엔진 2〉 개발에 참여하고 있습니다. 〈마비노기 듀얼〉 서버 개발에 참여하고, 〈마블 배틀라인〉 서버 개발을 리드했습니다. NDC 2018 에서 〈게임 프로그래머는 어떻게 가르치나요?〉, NDC 2017 에서 〈내가 만든 언어로 게임 만들기〉 세션을 발표했습니다. 3. 세션 소개 : 수 년간 현업에서 근무해온 서버 개발자라면 누구나 한번쯤 자문해본 적이 있을겁니다. "내가 개발 업무를 하면서 서버 개발에 관한 여러가지 지식을 쌓았는데, 이걸로 게임 서버 전체를 만들 수 있을까?" 서버 개발자를 지망하고 준비하는 학생이라면 궁금할 겁니다. "게임 서버 개발에 도움이 되는 여러가지 공부를 해왔는데, 빠지거나 치우친 것은 없을까?" 게임 출시를 앞...

백엔드 게임 프로그래밍

컨퍼런스 NDC

NDC 2019 [게임플레이 프로그래머의 역할] 세션 공유드립니다. 상세 내용은 NDC Replay 홈페이지를 참고 부탁드려요. 😊 1. 발표자 성함 : 최호영 2. 발표자 소개 : 현재 넥슨 코리아 왓스튜디오의 듀랑고실 소속으로 [듀랑고] 프로젝트 초기부터 게임플레이 프로그래머로 약 7년간 함께 하였습니다. 이전에는 3년간 [루니아 전기] 게임플레이 프로그래머로 일하였습니다. 3. 세션 소개 : 게임플레이 프로그래머로 일하면서 경험한 내용을 바탕으로 역할을 정리하고 어떻게 하면 좋은 개발자가 될 수 있는지에 대한 방법론을 제시하고자 합니다. 좋은 개발자로 가는 여러가지 길 중 하나를 제안하여 다양한 토론을 이끌어내는 계기가 되었으면 합니다. 감사합니다. 본 NDC 발표 동영상(이하 “저작물”이라 합니다)에 대한 저작권 (2차적저작물작성권 및 편집저작물작성권 포함)은 해당 저작물의 저작자(발표자 포함) 또는 (주)넥슨코리아 (이하 “권리자”라 합니다)에게 귀속되며, 권...

게임 프로그래밍

컨퍼런스 NDC

NDC 2018 [개발 자동화와 그 적들 - '블레이드 2' 및 다른 사례들 소개] 세션 공유드립니다. 상세 내용은 NDC Replay 홈페이지를 참고 부탁드려요. 😊 1. 발표자 성함 : 최우성 2. 발표자 소개 : 16 년차 개발자. 프로그래머와 프로젝트 관리자와 AI 관련 업무를 오가며 게임 업계에 서식하고 있다. 현재는 블레이드2 에서 서버 프로그래밍 및 개발 생산성 향상을 위한 작업들을 하고 있다. 그 이전에는 블레이드 앤 소울, 로스트 사가, 다함께 차차차2, 불멸의 전사 등을 PM이나 프로그래머로서 개발 했다. 그리고 소개한 프로젝트 보다 더 많은 수의 빛을 보지 못한 프로젝트들에도 참여 했었다. 3. 세션 소개 : 개발환경이 발전하고 프로젝트들의 사이클이 짧아지면서, 개인 및 팀의 생산성은 또다른 키워드가 되고 있습니다. 특히 모바일 시대에 도래하면서 이런 현상은 더욱 가속화되어가고 있는 상황입니다. 블레이드 2 (서버)를 개발하면서 신경 썼던 부분 중 하...

데브옵스 · 인프라 개발 도구

컨퍼런스 NDC

NDC 2018 [밸런스 기획이란 무엇인가] 세션 공유드립니다. 상세 내용은 NDC Replay 홈페이지를 참고 부탁드려요. 😊 1. 발표자 성함 : 김미림 2. 발표자 소개 : 2010년 1월 부터 2015년 5월까지 KOG에서 2015년 6월 부터 2017년 6월까지 넷마블 몬스터에서 현재는 넷게임즈의 신작 프로젝트에서 밸런스 업무를 하고 있습니다. 3. 세션 소개 : 밸런스 기획을 전문적으로 다뤄본 적이 없는 분들을 위한 발표입니다. 밸런스 기획이란 어떤 일이며, 어떻게 해야하는 지를 간략히 가이드해드립니다. 감사합니다. 본 NDC 발표 동영상(이하 “저작물”이라 합니다)에 대한 저작권 (2차적저작물작성권 및 편집저작물작성권 포함)은 해당 저작물의 저작자(발표자 포함) 또는 (주)넥슨코리아 (이하 “권리자”라 합니다)에게 귀속되며, 권리자의 허락 없이 이를 상업적으로 이용하거나 무단으로 도용, 편집, 2차적저작물을 작성, 공중송신, 배포할 수 없습니다.

게임 기획