Пишем свой MMORPG сервер.
Автор: progman
История моего знакомства с сабжем началась с lineage. Первой попыткой было написание собственного сервера под FreeBSD. Точнее будет сказать переписывание с С# на С++. Очень скоро стала понятна вся тщетность этого начинания. Однако начало было положено и опыт был приобретен.
Что ж, попробую изложить свой подход к решению такой объемной задачи как написание серверной части онлайн игры. Этот подход базируется на принципах и моделях, положенных в основу организации серверной части lineage2 исследованию которой я посветил несколько месяцев. Благо под рукой был сервер от официального поставщика :-). Не имею ни малейшего понятия как он попал в руки людей мне его предоставивших для исследований, да это имхо и не важно.
Игрой сервер состоит из нескольких частей. Основные из них две:
1. LOGINSERVER
2. GAMESERVER
Из названия понятно что первый обеспечивает прием логина-пароля от игрока, а второй сам игровой процесс.
Игровых серверов может быть несколько – например на каждую локацию по серверу или на каждую игровую вселенную.
LOGINSERVERов тоже может быть несколько – свой собственный для каждого GAMESERVERа, или один на все. Это зависит от архитектуры игры и возможностей разработчиков.
Я буду рассматривать случай 1 игровой сервер + 1 логин-сервер. Причем для простоты изложения упростим ситуацию и рассмотрим случай когда логин-сервер и гейм-сервер суть одно приложение. Это избавит нас от написания механизма передачи данных между двумя разными приложениями. В принципе мелочь, а приятно )))
20 марта 2007
Комментарии [7]