Сохранение
Документируем и воссоздаём технологию, чтобы она не исчезла вместе со старыми билдами.
Фан-проект · Реверс-инжиниринг
mmorpg-game — фан-проект, который заново собирает серверную часть классической MMORPG методом реверс-инжиниринга. Мы дизассемблируем оригинальные серверные модули, восстанавливаем протокол, форматы данных и игровую логику — и переписываем их в точную нативную реализацию на C++.
О проекте
mmorpg-game — это исследовательская инициатива энтузиастов. Наша цель — сохранить и воспроизвести серверную технологию классической MMORPG, которая иначе была бы утеряна. Мы дизассемблируем оригинальные серверные модули, восстанавливаем структуры, протокол и форматы данных, а затем пишем собственную реализацию на C++, поведение которой совпадает с оригиналом с точностью до байта.
«Мы не копируем чужой сервер. Мы понимаем, как он работал, и пишем свой заново — строка за строкой».
Документируем и воссоздаём технологию, чтобы она не исчезла вместе со старыми билдами.
Реверс-инжиниринг ради понимания архитектуры: протоколы, шифрование, форматы, логика мира.
Текущий статус
На данный момент восстановлены три ключевых сервиса серверной части.
Промежуточный слой между базой данных и игровым миром: хранит и раздаёт игровые объекты и метаданные. Полностью восстановлен и сверен с оригиналом побайтово.
Восстановлены вход в игру и шифрованное рукопожатие (блочный шифр Blowfish): проверка учётных данных, создание сессии и безопасная передача игрока на игровой сервер.
Поднято ядро мира: вход, объектная модель (персонажи, предметы, кланы, инвентарь, склад), парсеры игровых данных и обработка пакетов клиента в реальном времени. Покрытие игровых систем активно расширяется.
Подход
Разбираем оригинальные бинарники в дизассемблере. Машинный код — единственный источник истины, декомпилятор лишь подсказка.
Восстанавливаем классы, форматы файлов, таблицы данных и сетевой протокол (опкоды, шифрование) до полной спецификации.
Переписываем логику в нативную реализацию на C++ — без заглушек и упрощений, поведение совпадает с оригиналом один в один.
Сверяем результат с оригиналом байт за байтом и проверяем против реального клиента, пока ответы не совпадут точно.
Прогресс
Слой кэширования восстановлен и сверен с оригиналом побайтово. Стабилен.
Вход, рукопожатие на Blowfish и передача игрока на игровой сервер работают.
Вход в мир, объектная модель, парсеры данных и обработка пакетов реализованы и работают.
Дописываем обработчики игровых пакетов и серверную логику мира до полного объёма.
Сервер NPC и поведения мобов, сервис логирования и обращений, наполнение мира контентом.
Контакты
Мы открыты к энтузиастам, реверс-инженерам и тем, кому интересна техническая археология MMORPG. Напишите — расскажем подробнее.
Профиль проекта
Независимый фан-проект, созданный в исследовательских целях и в целях сохранения технологий. Проект не связан с какими-либо компаниями и не распространяет оригинальные файлы сервера — это самостоятельная реализация.