Новости Виртустан мада

Виртустан мад, созданный мной в 2007 году на базе свободного кода Былин, еще жив. Правда в него сейчас никто не играет. (См. статистику). Но я периодически что-то делаю, и код и мир выкладываю на bitbucket. Сегодня я сделал гейткипера, как в моей любимой Линейке (Lineage II) — непись, которая стоит и может по желанию телепортировать игроков куда угодно. В отличие от будок телепортации, сделанных очень давно при помощи скриптов на языке DGScript, гейткипер сделан в виде кода на C (моб со спецпроцедурой, примерно так же сделан рентер или банкир)

Что я нашел

Нашел какой-то мад с графическим веб-клиентом http://www.mume.org/

Также какой-то мад клиент powwow
https://github.com/MUME/powwow

и нашел какой-то муд маппер exPandora (он используется для рисования карты в вышеупомянутом маде MUME)

https://sourceforge.net/projects/expandora

Клиент собрался в Убунте сразу, он весьма похож на tintin++

А вот маппер (он графический и судя по скриншотам красивый) пока не собрался

Update. 21-Apr-2018. В дистрибутиве маппера есть бинарник для 64 битного Линукса. Добавив в /usr/lib требуемую ему библиотеку libpng12 я запустил маппер. Но пока не смог в нем разобраться. Он работает как прокси, через него я хожу по своему маду, по маппер пока ничего не рисует

Немного сырых мыслей о распределенном маде

Ячейку распределенной сети я вижу такой:

мир ячейки будет состояить из 3 частей

1. приватная зона данной ячейки, по сути собственный манор или замок. работает по своим правилам, чужих игроков пускает, но возможно с ограниченями

2. кусок (шард) большого мира – работающий по общим согласованным правилам

3. (опциональное) то, что набилдил админ данной ячейки, то есть добавки к п.2 или 1

Координаты будут 4-мерные. В шарде координаты будут 3 мерные, плюс добавляется впереди номер шарда. Как-то так.

Таких ячеек можно наклепать много. А над ними будет один сервер – сервер управления уникальными объектами (СУУО). То есть, если уникальный меч или моб переходит из одной ячейки в другую, соответствующая отметка будет на СУУО. Это чтобы предметы, мобы и деньги не размножались. Ну и у каждого уникального объекта будет уникальный номер

Вот примерно такое я придумал по дороге с работы

Мад-сервер на языке bash

Вот:
https://github.com/vasyahacker/mud.sh

Посмотрим, во что это выльется, но сама идея мне нравится. В частности, хранение базы мира в виде подкаталогов и файлов в файловой системе UNIX

Пока это оч. сыро, по сути концепт. Запускать так

while true; do read txt;./mud.sh 1 “$txt”;done

где 1 – ид пользователя

переменная txt – команда

Команды см. в конце исходника

А вот от той же команды этюд в зеленых тонах (у меня на ноутбуке оно жрало процессор и жутко тормозило):

https://test11.magicfreedom.com/ShipLocation/

UPDATE. 18.Jun.2018. Продолжение этой темы на форуме

Realms of Hell

Коллега Пацифист нашел новую интересную кодовую базу – Realms of Hell. Код написан на C++, публикуется под свободной лицензией GPL v.3 (некоторые старые файлы данных под Creative Commons). Еще одна особенность – мад хранит все данные в формате xml. И развивается (см. историю коммитов). Я почти месяц с ним мудохался, чтобы понять, почему он не любит кириллицу в UTF-8 и нашел это место и исправил. Вторая проблема – на ихнем гитхабе опубликован только код, файлы данных (“initial files”) я нашел на их же сайте только старые, в двух версиях, как-то смешал их (так было надо, там не все файлы или очень устаревшие, но у меня как-то запустилось). Вот уж действительно hell.

Вот мой репозиторий (всё это должно работать, у меня же работает в Убунте)