Как оказалось, протокол VT100 из знакомых мне клиентов реализован только в tintin++ (еще в zmud, cmud). Не реализован в tortilla, mudlet.

Для чего он может быть нужен? Ну, например для редкого мада Low Lands (Lola MUD), у которого есть оригинальный “тактический дисплей” сверху экрана и строка состояния снизу. Впрочем, при желании все это можно наверное сделать и на ANSI escape codes, позиционирование курсора есть и там.

“Вся Галлия делится на три части”

В мудах из семейства Diku/Circle/ROM можно выделить три части. Первая это код, то есть исходный текст на языке C или C++ или их сочетании. Вторая это мир, то есть игровые зоны, в текстовом формате файлов zon/wld/mob/obj/trg/shp для ветки Circle и в едином формате are для ветки MERC/ROM. Третью выделяю только я, это то, что я называю “файлы данных” и чаще всего они находятся в каталоге misc. Там находится “цифирь”, то есть все параметры классов, умений, заклинаний, уровней и так далее. Часть из этих цифирей находится в коде, и для их изменения надо уметь перекомпилировать исходники (и иметь их в наличии). А вот те цифры, которые находятся в файлах данных можно просто поменять и перезапустить мад (или выполнить в маде команду reload) и все в мире изменится.

Чтобы запустить у себя сервер надо иметь все три части, причем код может быть как в виде готового бинарника, так и в виде исходников, что конечно предпочтительнее, по крайней мере для тех, кто знает основы программирования. А иногда эти части распространяются отдельно (и порой имеют различные лицензии и правовые статусы). Например, tbamud присутствует на github полностью, то есть код, файлы и зоны. Эти зоны они называют stock zones, но некоторые авторы зон (билдеры) не разрешают свободно распространять свои зоны. Кроме авторского произвола (или желания заработать) здесь есть и игровая логика – изучив файлы зоны игроки получат преимущество, так как заранее, не играя будут знать топологию зоны, квесты, параметры монстров и так далее. Это как в D&D игрокам сильно не рекомендуется читать Книгу мастера (спойлеры, “вам потом неинтересно будет”).

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

Недавно я нашел на github англоязычный Luminari MUD, который объявлен как последователь tbamud (а tba – наследник Circle), причем в Luminari использован механизм D20. Я решил его поковырять, оказалось, опубликован только код, который достаточно легко собрался. И что дальше с ним делать? Оказалось, что в Luminari используется хранение базы игроков и некоторые параметры и хелпы в базе mysql, то есть в качестве “стоковых файлов” должен был быть дамп этой базы, которого в поставке не было. И игровых зон не было. Игровые зоны я взял со старой версии  Luminari, а проблему с базой решил самым кардинальным образом – я начал жестоко курочить код (я называю это методом дурацкого хака и помечаю коментарием prool fool), и получится франкенштейн, который как-то запускался. Он не умеет хранить базу игроков, в нем надо постоянно регистрироваться, но походить по комнатам можно. Этот хак я еще не опубликовал, я не думаю, что он может быть кому-то сильно интересен.

А совсем недавно я нашел исходники русскоязычного муда по Ведьмаку. Начал их ковырять, и увидел, что они сделаны на базе Былин и чего-старого типа старого Circle или старого ROM. Информация об игроках там хранится в 24 подкаталогах с именами в виде латинских букв. То есть игрок Алекс будет лежать в каталоге a, игрок Пруль в p, Романа в r и так далее. Это было в каком-то старом ROM, потому что новые Circle (как и Былины) используют 6 каталогов A-E F-J K-O P-T U-Z ZZZ. Но остальные потроха у Ведьмака былиновские, но файлов и зон не было от слова совсем. Я откомпилировал его (это оказалось просто) и начал подбрасывать ему файлы данных от старого Зеркала, при ошибках делая их пустыми (то есть умений и заклинаний не будет). И постепенно сервер начал запускаться, потом я подбросил ему одну зону от Зеркала и ЭТО запустилось.

Для желающих поковырять вот моя франкенштейн-версия на gitlab https://gitlab.com/prool/cholera-mud

Называется она Холера муд. Ведьмак Геральт в фильмах и играх любил ругаться по-польски, слово KURWA я посчитал слишком неприличным, а вот CHOLERA в самый раз.

А вот сборка Холеры для Виндовс http://mud.kharkov.org/files/cholera-mud.zip

Она же временно крутится у меня на сервере на порту 7777 (хост мой обычный, mud.kharkov.org)

Впрочем, оригинальный Ведьмак вполне себе жив и крутится вот здесь: game.mudlast.ru 2700

tintin++ new commit

Вышел новый коммит (то есть минорная версия) мад-клиента tintin++, в который пара мелких багфиксов

Ссылка на github:

https://github.com/scandum/tintin

Сейчас я замусь сборкой его на всех доступных мне платформах, то есть вручную буду делать CI (continuous integration)

Update. 20-aug-2022. Вот сборка для 64-разрядной Винды

http://files.mud.kharkov.org/tintin/tintin2.02.20-august-2022-win64.zip

Химия и жизнь и пэкмены

Расскажу о былом.

Когда я был школьником, я увлекался химией, и поэтому родители мне выписали журнал “Химия и жизнь”. Напоминаю, что это были 70-е годы прошлого века, интернета тогда не было и скачать или загуглить ничего было нельзя, поэтому что этого еще не изобрели. По крайней мере на территории бывшего Советского Союза этого точно еще не было. И поэтому люди чтобы получать новости, всякие шутки, рассказы, картинки, выписывали газеты и журналы.

И в одном номере этого журнала была статья про ЦЕРН. Европейский центр ядерных исследований был уже тогда, его создали еще в 1954 году, за 10 лет до моего рождения. Большого адронного коллайдера еще было, да и слова такого еще не было, тогда подобный научный прибор называли по-русски ускоритель. Но были всякие малые ускорители (самый первый коллайдер был вообще размером с кастрюлю и Энрико Ферми охлаждал его в фонтане на площади возле своего университета, залезши в фонтан по пояс к вящему веселью прохожих). Так вот, в статье было рассказано про ЦЕРН, про ускорители, про частицы, и о методике исследований. И если я правильно помню, методика была примерно такая, эксперименты (выстрелы частицами по мишеням) производились тысячами, а то и десятками тысяч, приборы измеряли всякие величины, траектории частиц и все такое и все это в цифровом виде записывалось на магнитные носители, скорее всего на ленты. Это была так сказать сырая информация, то есть научное сырье. И вот ученый формулировал гипотезу, например гипотетически возможна вот такая частица с такой массой и таким зарядом, которая при столкновении с другой частицей с вот такой энергией распадется на два протона и угол разлета между ними будет 45 градусов. Далее ученый писал программу для анализа всех сырых данных и нахождения таких случаев. И сутками, а то и неделями компьютер делал то, для чего он предназначен, а именно без сна и отдыха анализировал ленту за лентой и искал разлет на 45 градусов. Ну и если ученый оказывался прав, то таких случаев находилось сотни, а может и ни одного, значит он не был прав и надо выдвигать другу гипотезу.

То есть в ЦЕРНЕ были мощные компьютеры, объединенные в сеть. Кстати, физики много внесли в компьютерное дело, первые сетевые протоколы TCP/IP, первые зачатки гипертекста и браузеров – все это зародилось в ЦЕРНе (и еще паре похожих мест). Так вот, далее там описывалось, что ученые и студенты, которые работают в ЦЕРНе, использовали компьютеры не только для работы, но и для развлечений. Какя я понимаю, суперкомпьютеры были супер, а тогдашние текстовые игры много ресурсов не тратили и руководство Центра смотрело сквозь пальцы на развлечения, если те не мешали основной работе.

Далее автор статьи описывает нам, советским читателям, которые компьютер (ЭВМ) встречали только на страницах научной фантастики, игру Пэкмен. (Кстати, по этим наметкам вполне можно найти эту статью, если архив журнала где-то выложен в Интернете).

А потом он описывал что-то, похожее то ли на nethack, то ли на MUD. Я уже не помню, была ли игра много и однопользовательской, но сетевой она была по определению, потому как тоглашние компьютеры были многопользовательскими по определению. Был один большой компьютер, а к нему было подключено много, может десятки, а может и сотни текстовых терминалов. А операционная система была типа UNIX или чего-то подобного, что ей предшествовало (Multics? VMS?) И суть игры заключалась в хождении по подземельям и сражении с монстрами, причем все это было обозначено буквами и символами.

Так я в конце 70-х получил первое, пока теоретическое знакомство с MUD. Ну, или с рогаликом, но эти игры по сути очень похожи.

Список готовых сборок мад-серверов для Виндовс

Здесь будут как сборки, сделанные (откомпилированные) мной, так и не мной. На некоторых сайтах мадов выкладывается готовая сборка с несколькими зонами для билдеров и вообще для ознакомления. А Дримлендовцы выложили полный мир, правда собрать его для Винды мне не удалось (а вот под Ubuntu он собирается, не скажу, что легко, но таки да). Эти сборки на жаргоне игроков иногда называют локалками.

Итак.

Мои мады:

Виртустан http://files.mud.kharkov.org/virtustan-mud/vmud-windows/vmud-win32-8-nov-2021.zip

Зеркало http://files.mud.kharkov.org/zerkalo/zerkalo-win32-7-nov-2021-v2.zip

И не мои мады (некоторые сборки делали авторы этих мадов, некоторые я)

Берег Семи Воплощений http://files.mud.kharkov.org/c7i/c7i_dev_2016_01_06.zip

Опасная фантазия http://files.mud.kharkov.org/df2/ (там несколько сборок)

Сфера Миров http://files.mud.kharkov.org/sow/sow_serv.zip

PlaneScape http://files.mud.kharkov.org/psmud/test_server.zip – эта локалка не работает, я проверил

SR MUD http://files.mud.kharkov.org/sr_mud/ (несколько сборок)

И англоязычные сервера (все сборки делал я):

CircleMUD http://files.mud.kharkov.org/circle-windows/CircleMUD-win64.zip

DikuMUD http://files.mud.kharkov.org/dikumud_for_windows.zip

EmpireMUD http://files.mud.kharkov.org/empiremud-windows/empiremud.zip

MERC http://files.mud.kharkov.org/merc/merc_win64.zip

ROM http://files.mud.kharkov.org/rom/rom24b6-win.zip

tbaMUD http://files.mud.kharkov.org/tbamud_for_windows.zip

Anatolia MUD http://files.mud.kharkov.org/anatoliamud.zip

ПРИМЕЧАНИЕ. Не все “локалки”, то есть сборки мад-серверов для Виндов работоспособные. Если моя локалка глючит, напишите мне, я постараюсь исправить, а чужие сборки поправить невозможно.






Инструкция для билдеров

Коллега Дариан написал инструкцию для билдеров по командам онлайнового редактора OLC (on-line creating), встроенного в мад Былины:

https://www.bylins.su/builder/olc/

Такие же редакторы есть и в мадах Зеркало и Виртустан, основанных на коде Былин. Более того, похожие команды редактирования есть практически по всех мадах, построенных на базе кода Circle или его потомков, например в tbaMUD. Естественно, с некоторыми различиями, например в англоязычных мадах нет падежей.

Изменения

Я кстати большой любитель всё переделывать. Так, свое файлохранилище несколько дней назад я перетасовал. Посмотрите на сайт mud.kharkov.org, там две ссылки Files, помеченные цифрами 1 и 2. Один это большой внешний сервер и я перенес туда практически всё, что ранее было на сервере номер два. Поэтому ссылки в моих старых постингах в этом блоге перестали работать. На сервере номер один я немного перетасовал файловую структуру, чтобы она стала проще и чтобы легче было найти то, что вы ищете. А на сервере номер два, который расположен на том же VDS, что и мады, теперь будет лежать немного что.

Кроме того, на сайте mud.kharkov.org теперь упоминаются все мады, которые крутятся на моем сервере, как мои постоянные длительные проекты Виртустан и Зеркало, так и временные мады, кодовые базы, которые я исследую и тестирую.

Гомер, Мильтон и Паниковский

MUDы чисто текстовая игра, поэтому в нее могут полноценно играть и слепые (незрячие) игроки. Я решил потестировать свои мады в этом смысле и поставил себе на 7-ю Винду “слепецкий” софт, а именно говорилку (screenreader) NVDA, которая прозносит сообщения, появляющиеся на экране и специальный мад-клиент для незрячих blindtin (форк то ли от lintin, то ли от wintin, оба которых это рефакторинг tintin++ на питоне). Впрочем, специальный мад-клиент ставить не обязательно, NVDA озвучивает вывод любой программы, поэтому некоторые незрячие используют старый добрый JMC. Я протестировал tintin++ и свой prooltin с NVDA, все работает. (Это все в среде Windows, в Линуксе и macOS тоже есть скринридеры, но я пока до них не добрался, нельзя объять необъятное).

Пара замечаний: скорость произнесения я поставил минимальную. Голос у ридера противный. Я убрал у Виртустана большую заставку при старте, она озвучивается очень долго и местами скрипит (а вы сами прослушайте URLы и е-мейлы). Ну и в некоторых других местах уберу длинноты и плохо произносящиеся сочетания.

Кстати, о клиенте blindtin, я пока полностью его не освоил. У него есть меню, но я его не нашел. Его не видно (грустная улыбка). Поэтому я как читер набираю вслепую команду

#sess s1 mud.kharkov.org 3000

потом надо выбрать кодировку номер 2 (то есть кодировку Виндовс)
и можно вводить свое имя и пароль или регистрироваться в маде.
Кстати, в коде Былин (на базе старых версий которого основаны и мои мады) есть флаг “Режим слепого игрока”, который убирает ненужные для скринридера красивости (которые при озвучивании скрипят и щелкают), например карту мира