mmorpg-game Серверы восстановлены

Фан-проект · Реверс-инжиниринг

Возвращаем классический
MMORPG-сервер к жизни.

mmorpg-game — фан-проект, который заново собирает серверную часть классической MMORPG методом реверс-инжиниринга. Мы дизассемблируем оригинальные серверные модули, восстанавливаем протокол, форматы данных и игровую логику — и переписываем их в точную нативную реализацию на C++.

3
ключевых сервиса серверной части восстановлено
1:1
побайтовое совпадение с поведением оригинала

О проекте

Не «ещё один сервер», а реконструкция технологии.

mmorpg-game — это исследовательская инициатива энтузиастов. Наша цель — сохранить и воспроизвести серверную технологию классической MMORPG, которая иначе была бы утеряна. Мы дизассемблируем оригинальные серверные модули, восстанавливаем структуры, протокол и форматы данных, а затем пишем собственную реализацию на C++, поведение которой совпадает с оригиналом с точностью до байта.

«Мы не копируем чужой сервер. Мы понимаем, как он работал, и пишем свой заново — строка за строкой».

Сохранение

Документируем и воссоздаём технологию, чтобы она не исчезла вместе со старыми билдами.

Исследование

Реверс-инжиниринг ради понимания архитектуры: протоколы, шифрование, форматы, логика мира.

Текущий статус

Что уже восстановлено и работает.

На данный момент восстановлены три ключевых сервиса серверной части.

01 Восстановлено

Сервер кэширования

Промежуточный слой между базой данных и игровым миром: хранит и раздаёт игровые объекты и метаданные. Полностью восстановлен и сверен с оригиналом побайтово.

  • Логикавосстановлена
  • Сверкабайт в байт
  • Состояниестабильно
02 Восстановлено

Сервер авторизации

Восстановлены вход в игру и шифрованное рукопожатие (блочный шифр Blowfish): проверка учётных данных, создание сессии и безопасная передача игрока на игровой сервер.

  • РукопожатиеBlowfish
  • Сессииработают
  • Обработчики6 / 6
03 Восстановлено

Игровой сервер

Поднято ядро мира: вход, объектная модель (персонажи, предметы, кланы, инвентарь, склад), парсеры игровых данных и обработка пакетов клиента в реальном времени. Покрытие игровых систем активно расширяется.

  • Ядро мирареализовано
  • Объектная модельживёт
  • Пакетырасширяются

Подход

Как устроен реверс-инжиниринг сервера.

A

Дизассемблирование

Разбираем оригинальные бинарники в дизассемблере. Машинный код — единственный источник истины, декомпилятор лишь подсказка.

B

Реконструкция структур

Восстанавливаем классы, форматы файлов, таблицы данных и сетевой протокол (опкоды, шифрование) до полной спецификации.

C

Реализация на C++

Переписываем логику в нативную реализацию на C++ — без заглушек и упрощений, поведение совпадает с оригиналом один в один.

D

Побайтовая верификация

Сверяем результат с оригиналом байт за байтом и проверяем против реального клиента, пока ответы не совпадут точно.

Прогресс

Дорожная карта восстановления.

  1. Готово

    Сервер кэширования

    Слой кэширования восстановлен и сверен с оригиналом побайтово. Стабилен.

  2. Готово

    Авторизация и шифрование

    Вход, рукопожатие на Blowfish и передача игрока на игровой сервер работают.

  3. Готово

    Ядро игрового сервера

    Вход в мир, объектная модель, парсеры данных и обработка пакетов реализованы и работают.

  4. В работе

    Полное покрытие игровых систем

    Дописываем обработчики игровых пакетов и серверную логику мира до полного объёма.

  5. Запланировано

    NPC, ИИ и вспомогательные сервисы

    Сервер NPC и поведения мобов, сервис логирования и обращений, наполнение мира контентом.

Контакты

Следите за проектом или присоединяйтесь.

Мы открыты к энтузиастам, реверс-инженерам и тем, кому интересна техническая археология MMORPG. Напишите — расскажем подробнее.

Профиль проекта

  • ТипФан-проект
  • НаправлениеРеверс серверной части
  • Статус3 сервиса восстановлено
  • МетодРеверс из оригинала, 1:1

Независимый фан-проект, созданный в исследовательских целях и в целях сохранения технологий. Проект не связан с какими-либо компаниями и не распространяет оригинальные файлы сервера — это самостоятельная реализация.