게임 서버에 대한 궁금증

balgarac1의 이미지

학습의 목적으로 간단한 게임 서버를 만들어 보고 있습니다.

게임 서버 다운 게임 서버의 역할을 하려면

게임 기록을 저장해야 하고, 비지니스 로직 구현, 클라이언트에 대한 업데이트를 해야한다고 하는데요.

궁금한 점이 게임 기록을 저장하는 것이 어디다가 무엇을 저장하는 것을 말하는 건가요? 데이타베이스에 저장하는 건가요??

만약 그렇다면 Mysql로 테이블을 만들어서 게임 서버안에서 불러 오면 되는건가요??

그리고 비지니스 로직이라는 건 어떤 것이고 어떤 기술을 쓰면 구현할 수 있나요??

마지막으로 업데이트는 어떤 기술을 써서 업데이트를 시켜주는 건가요??

자세한 설명과 조언 부탁드립니다.

익명 사용자의 이미지

어디서 나오는 이론적인 용어를 보신 것 같은데, 게임 서버래봐야 별로 다를게 없습니다.

비즈니스 로직이란 말은 모르겠고, 그냥 로직(알고리즘) 을 말하는 겁니다.
무슨 기술을 쓴다는 것도 없고 그냥 서버 구현 자체를 말하는 것으로 생각됩니다.

이상한 말이 많은데 학습 목적이면 일단 그냥 생각대로 만들어보는 게 우선입니다.
iocp 나 epoll , kqueue 같은 건 나중에 쓰시면 되고 먼저 소켓 프로그래밍을 맨 처음
기초만 배웠다고 가정하고 select 멀티플렉싱도 모른다고 치고, 직접 select 역할을
하도록 소켓을 관리해주는 식으로 먼저 구현을 해보시기 바랍니다.
단순히 한 클라에 한 쓰레드를 할당하는 식으로만 만들어봐도 됩니다.

그리고 업데이트는 무슨 업데이트를 말하는 건지 모르겠는데, 클라이언트 프로그램
자체를 업데이트하는 것을 말하는 것이라면 일반적으로 말하는 게임 서버는 업데이트 서버와는
별개입니다. 이 쪽은 따로 구현하는 것이 좋습니다. 물론 학습용이니 한 곳에 몰아넣어도 상관은 없습니다만.
특별히 기술이랄 것도 없고 그냥 적당히 필요한 기초를 배우고나면 그냥 자연스럽게 생각나는 대로
먼저 구현을 해보면 자연히 알게 됩니다. 어렵게 생각할 이유가 전혀 없습니다.

익명 사용자의 이미지

이전 스레드도 비슷한 내용인데, 통신에 대한 기본 개념이 안잡혀 있는 상태에서 답변을 들어도 이해를 못하십니다.
기본적인 채팅 프로그램을 만들어 보면 간단한 개념이 잡힐 수 있을겁니다.
그 이후에 다시 질문해보세요.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.