1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/ylmbtm-GameProject3

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Game Engine Frame

Кроссплатформенный многопроцессный игровой серверный фреймворк, сетевой уровень которого реализован тремя способами: с использованием SocketApi, Boost Asio и Libuv.

Во фреймворке используются:

  • разделяемая память;
  • очереди без блокировок;
  • пул объектов;
  • пул памяти.

Это позволяет повысить производительность сервера.

Также имеется постоянно совершенствуемый демонстрационный клиент. Игра содержит большое количество ресурсов: ездовых животных, питомцев, компаньонов, снаряжение. Всё это можно использовать в бою и носить, а также входить в подземелья и сражаться там. Реализован мультиплеер.

Адрес демонстрационного клиента: https://gitee.com/ylmbtm/DemoClient

Инструкция по запуску сервера

  1. Компиляция:
    • Windows: откройте решение в VisualStudio2017 или более поздней версии и скомпилируйте его.
    • Linux: выполните скрипт buildall.sh для компиляции.
  2. Установка MySQL:
    • Установите на компьютер базу данных MySQL, рекомендуется версия MySQL 5.7. Если вы не хотите изменять конфигурационные файлы, создайте пользователя root с паролем 123456 (это настройки по умолчанию).
    • Затем найдите файл db_create.sql в проекте и запустите его в базе данных, чтобы создать таблицы базы данных.
  3. Запуск сервера:
    • После выполнения предыдущих шагов перейдите в каталог \Server и найдите файл StartServer.bat. Запустите этот файл и следуйте инструкциям.

Описание ролей сервера:

  • LoginServer: принимает подключения игроков и обрабатывает запросы на вход.
  • AccountServer: обрабатывает аутентификацию учётных записей, создание новых учётных записей и сохранение учётных данных в базе данных.
  • CenterServer: используется для кросс-серверной активности и кросс-серверных сражений.
  • LogicServer: обрабатывает логические данные о ролях игроков и общие логические функции.
  • GameServer: обрабатывает синхронизацию перемещения игроков, навыки, баффы и другие боевые функции.
  • DBServer: служит прокси-сервером между логическим сервером и базой данных MySQL и отвечает за периодическую запись данных игроков в базу данных.
  • ProxyServer: действует как промежуточный сервер между логическими серверами и серверами сражений, в основном отвечая за пересылку сообщений.
  • LogServer: записывает журналы операций логического сервера в базу данных MySQL.
  • WatchServer: получает команды управления от веб-интерфейса и управляет сервером.

Документация и учебные материалы:

  1. Видеоурок по установке, предоставленный участником группы Binaryhobart (450282550) адрес урока.

QQ группа для общения: 962315897.

Общественный аккаунт: общественный аккаунт.

Демонстрация работы клиента (код и ресурсы клиента доступны в группе):

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Игровая серверная платформа реализована с использованием трёх различных подходов к реализации сетевого уровня: SocketAPI, Boost Asio и Libuv. В платформе используются разделяемая память, очереди без блокировок, пул объектов и пул памяти для повышения производительности сервера. Также в платформу интегрирована постоянно совершенствуемая игра Un... Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/ylmbtm-GameProject3.git
git@api.gitlife.ru:oschina-mirror/ylmbtm-GameProject3.git
oschina-mirror
ylmbtm-GameProject3
ylmbtm-GameProject3
master