IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Reply to this topicStart new topic
> Структура Mud-сервера, поговорим о...
Vorek
сообщение 02 Aug 2009, 13:47
Сообщение #1

Думаю
Сообщений: 187
Спасибо сказали: 33 раза




Итак, есть сервер. Как он устроен?

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

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

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

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

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


--------------------
Без жаб! Спасем крепость!
Go to the top of the pageAdd Nick
 
+Quote Post
orgus
сообщение 03 Aug 2009, 11:38 (Сообщение отредактировал orgus - 03 Aug 2009, 11:54)
Сообщение #2

banned banned banned
Сообщений: 496
Спасибо сказали: 3 раза




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


кхм... а взять движок и поиграться сложно что ли? Многие исходники обще доступны ... На сколько я помню ни каких там отдельных потоков, во всяком случае в том что я собирал... Например старые сырцы сога и дф ... Есть основной цикл .. game_loop_unix вроде функция из нее запускается уже вся обработка ... тебя интересует update_handler, у всех событий есть определенное время обновления... счетчик просто уменьшают до тех пор пока он не станет равен 0, тогда запускают обновление например mobile_update char_update quest_update obj_update и тд.. и снова инициализируют счетчик... вот и все ...
Go to the top of the pageAdd Nick
 
+Quote Post
CrackedMind
сообщение 05 Aug 2009, 17:09
Сообщение #3

openhomm developer
Сообщений: 214
Спасибо сказали: 39 раз




Можно для начала почитать книжку:
[R.Penton] MUD Game Programming (2003). К ней прилагаются исходные коды.

А потом можно самому начать писать. Или взять готовые и поковырять их.


--------------------


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Vorek
сообщение 05 Aug 2009, 18:14
Сообщение #4

Думаю
Сообщений: 187
Спасибо сказали: 33 раза




о, за книжку огромное спасибо!


--------------------
Без жаб! Спасем крепость!
Go to the top of the pageAdd Nick
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 9 May 2026 - 23:17
Copyright by Алексей Крючков
Strategy Gamez by GrayMage
Programming by Degtyarev Dmitry
  Яндекс.Метрика