Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Структура Mud-сервера
DF2 :: ФОРУМЫ > Основные форумы > Софт и железо > Программирование / Coding
Vorek
Итак, есть сервер. Как он устроен?

*далее идут мои рассуждения, которые стоит подправить*

Вообще, основных функции сервера две: отвечать на запросы клиента, и обрабатывать виртуальный мир, в котором происходит действие, вне зависимости от того, есть там игрок или нет (отключать пустые локации можно, но мы про это пока забудем).

Первая функция вроде бы особой сложности не представляет - знай, обрабатывай себе запросы клиента о состоянии локации, перемещений вещей из сундука в инвентарь итд итп...

Запрос поступает на то, что можно назвать комутатором - процедура, которая его дешифрует и отдает/создает данные в поток-обработчик, который и осуществляет действие - например переместить номер предмета из области памяти А (судук) в область памяти Б(карман), проверив возможность этого перемещения.

А вот как идет обработка мира?
Тоже куча потоков, а в каждом - тригеры респауна, АI мобов??? или как же все это выглядит????
orgus
Цитата
А вот как идет обработка мира?
Тоже куча потоков, а в каждом - тригеры респауна, АI мобов??? или как же все это выглядит????


кхм... а взять движок и поиграться сложно что ли? Многие исходники обще доступны ... На сколько я помню ни каких там отдельных потоков, во всяком случае в том что я собирал... Например старые сырцы сога и дф ... Есть основной цикл .. game_loop_unix вроде функция из нее запускается уже вся обработка ... тебя интересует update_handler, у всех событий есть определенное время обновления... счетчик просто уменьшают до тех пор пока он не станет равен 0, тогда запускают обновление например mobile_update char_update quest_update obj_update и тд.. и снова инициализируют счетчик... вот и все ...
CrackedMind
Можно для начала почитать книжку:
[R.Penton] MUD Game Programming (2003). К ней прилагаются исходные коды.

А потом можно самому начать писать. Или взять готовые и поковырять их.
Vorek
о, за книжку огромное спасибо!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.