Godot Tiny MMO
Крошечная веб-демо-версия MMORPG, разработанная на движке Godot Engine 4.4,
созданная без использования встроенных многопользовательских узлов.
Клиент и сервер используют одну и ту же кодовую базу, но благодаря уникальной организации
пользовательские настройки экспорта позволяют экспортировать клиентские и серверные сборки отдельно,
обеспечивая безопасность и оптимизацию сборок за счет исключения ненужных компонентов.
В этом проекте используются серверы разных типов, имитирующие типичную архитектуру MMO:
шлюз, мировой и главный сервер
Особенности
Текущие и планируемые функции:
- Подключение клиент-сервер через WebSocketMultiplayerPeer
- Возможность воспроизведения в веб-браузере и на рабочем столе
- Архитектура сети (см. диаграмму ниже)
- Система аутентификации через сервер шлюзов с пользовательским интерфейсом входа
- Создание постоянных учетных записей игроков
- Пользовательский интерфейс для выбора сервера, позволяющий игроку выбирать между различными серверами
- База данных QAD для сохранения постоянных данных
- Возможность входа в систему гостя для быстрого доступа
- Проверка версии игры для обеспечения совместимости с клиентом
- Создание персонажа
- Базовая система классов в RPG с тремя начальными классами: Рыцарь, Разбойник и Волшебник
- Синхронизация сущностей для игроков в пределах одного экземпляра
- Интерполяция сущностей для обработки резиновых полос
- Чат на основе экземпляров для локального общения
- Карты на основе экземпляров с возможностью перемещения между различными экземплярами карты
- Три разные карты: Надземный мир, Вход в подземелье, Подземелье
- Частные инстансы для одиночных игроков или небольших групп
- Серверный античит (базовая проверка на скорость взлома, телепортацию и т.д.)
- Серверные NPC (логика искусственного интеллекта обрабатывается на сервере)
-
Как запускать
Чтобы запустить проект, выполните следующие действия:
- Откройте проект в Godot 4.4.
- Перейдите на вкладку "Отладка", выберите "Настраиваемый экземпляр запуска...".
- Включите несколько экземпляров и установите их количество равным 4 или более.
- В разделе "Теги функций" убедитесь, что у вас есть:
- Ровно один тег "шлюз-сервер".
- Ровно один тег "главный сервер".
- Ровно один тег "мировой сервер".
- По крайней мере, один или несколько тегов "клиент".
- (Необязательно) В разделе Параметры запуска:
- Для серверов добавьте --headless, чтобы предотвратить появление пустых окон.
- Для любого из них добавьте --config=config_file_path.cfg, чтобы использовать путь конфигурации, отличный от пути конфигурации по умолчанию.
- Запустите проект (нажмите клавишу F5).

Комментариев нет