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

В мудах из семейства 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

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

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

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

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

Свежая сборка Зеркала для Виндовс

Вот http://mud.kharkov.org/files/lokalki/new-zerkalo/zerkalo-win32-7-nov-2021.zip

В сборку не включены некоторые служебные зоны, присланные мне без права распространения. Вместо них стоят старые версии зон, которые гуляют по рукам уже много лет. Если хотите, ищите разницу с сетевым вариантом Зеркала (тем, который по адресу zerkalo.kharkov.org:4000)

Код свежих Былин, собранный для 32-разрядной Винды

Современные Былины рассчитаны на 64-разрядные платформы, например 64-разрядную Ubuntu или 64-разрядный cygwin (то есть Windows). Но мне удалось собрать код Былин под 32-разрядную Винду 🙂

Вот оно http://mud.kharkov.org/files/zerkalo/zerkalo.win32.zip

Это мое Зеркало, то есть немного модифицированный код Былин, но оригинальные Былины собираются аналогично. Там два места – в первом пришлось заменить 64-разрядную хеш-функцию на 32-разрядную, а во втором поменять int на unsigned int модификации помечены комментарием prool for win32

Второе Зеркало

Первое Зеркало (zerkalo.kharkov.org:4000)представляет собой код Былин
за декабрь 2019 года с некоторыми небольшими модификацими от Пруля.
Для желающих потестировать в что-то, более похожее на оригинал, я поднял Второе Зеркало.


Хост тот же zerkalo.kharkov.org
Только порт 5000

Там свежий код Былин, за 22 марта 2021 года.
А зоны те же самые, что и на первом зеркале.
Пруль
P.S. Модификаций от Пруля, например команды духмада, на Втором Зеркале пока нет.
Там код, полностью похожий на оригинал.

UPDATE. 7 августа 2021 года. Это второе зеркало проработало на порту 5000 около месяца, потом было выключено. Сейчас на этом порут работает копия основного Зеркала, используемая для отладки билдерства и скриптов.

Еще один переезд

22 февраля 2021 года мои мады и их сайты опять переехали, теперь на сервер с 8 гигабайтами ОЗУ и 50Г диска . (Нет, для мада так много не нужно, для него хватит 1 Г ОЗУ и диска 10Г вместе с ОС, но там у меня крутятся и другие проекты, например Майнкрафт и Майнтест). И ОС Убунту там более новая – 20.04.1 (а на предыдущем сервере была 18.04) Надеюсь, на этом сервере я обоснуюсь надолго. Работа графиков мад-статистики будет налажена в течение 24-25-26 февраля.

Открытое письмо игрокам и билдерам мада Новое Зеркало

Версия 0.3. Последние изменения внесены 25 ноября 2020 г, 12:35 UKR

Приветствую, я Пруль, директор этого мира. Директор это самый главный человек в проекте, иногда говорят имплементор или старший бог.

Я всех приветствую и надеюсь, что время провождение в мире Нового Зеркала будет для вас приятным и полезным.

Адрес мада zerkalo.kharkov.org 4000

Игрокам я много говорить не буду: играйте, изучайте мир и так далее. Если вас кто-то будет обижать, жалуйтесь директору, то есть мне. Я имею ввиду неигровую обиду, например, ругань, которой в мире не должно быть. А если вас обижает сильный монстр, это часть игрового процесса.

А вот билдерам инструкция будет длинее:

Первое правило билдера – не навреди игре, поэтому если каких-то параметров вы не знаете, не меняйте их. Кроме того, нельзя создавать билдерской командой load много сильных шмоток (оружия и доспехов) и раздавать их друзьям или своим персонажам-игрокам. Нельзя увеличивать уровень и другие параметры игроков. И уменьшать нелья! И нельзя делать сильных мобы слабыми, чтобы упростить себе игру. Вообще, чужих зон, то есть не ваших, трогать нельзя. У каждого билдера есть свои номера зон, где он может слегка экспериментировать и билдить.

В коде Былин (а Новое Зеркало это кривое зекало Былин) есть многоуровневая система защиты и уровни разных богов, но мне лень и нет времени разбираться, поэтому если вы увидели, что вам доступны сильные опасные команды типа остановить сервер, не надо с ними играться. Все логи ведутся и злостные хулиганы будут отключены.

Теперь о хорошем. Каждый билдер должен иметь собственный локальный сервер, на котором можно играться, устраивать креши, абьюзы, перезагружать его, экспериментировать с триггерами. Это никак не повредит основному серверу мада, а на основном сервере вы потом сможете билдить аккуратно и осторожно, уже имея опыт.

Где взять собственный сервер: если у вас Виндовс, берите готовую локалку:

http://files.mud.kharkov.org/archive/proolzerkalo/zerkalo-windows/newzerkalo-03-jul-2020.zip

Локалка датирована 3 июля 2010 года. Кстати, из локалки при желании можно сделать свой полноценный мад-сервер, доступный и для других игроков.

Если у вас Линукс или Макбук или БК-0010, обращайтесь ко мне, я помогу сделать сервер. Мои контакты вот.

Теперь о триггерах. Если вы изучили команды red/oed/med и создали несколько комнат, монстров и предметов, это только начало пути. Язык скриптов, на котором пишутся квесты и всякое сложное поведение монстров и NPC не так прост. Я сам знаю его только чуть-чуть. Начните с внимательного изучения статьи

http://files.mud.kharkov.org/articles/triggers-article.html

Далее можно обращаться за справками в справочник по языку скриптов:

http://files.mud.kharkov.org/articles/DGSinfo05.pdf

И далее можно экспериментировать на своей локалке. Готовьтесь, что первые ваши скрипты и триггеры не будут работать и будут вызывать креш вашей локалки. В локалке есть полный мир, как на сервере, со всеми скриптами, вы можете учиться там. И предупреждаю, это трудная область, если вы не склонны к программированию и программистскому мышлению, то вам может быть трудно, особенно поначалу. Помощь от Пруля не всегда возможна, потому что я сам знаю скрипты только слегка.

Вот полезная статья: Что нам стоит мир построить

Есть еще пара хороших статей о билдерстве, но я потерял их тексты и ссылки на них, но когда найду, напишу о них в этом своем блоге.

А если вы программист и хорошо знаете языки C/C++, то можете вместо скриптов написать “спецпроцедуру” для моба, объекта или комнаты. Я так делал в Виртустан маде, потому что мне проще что-то кодить на C, чем ковыряться в странном для меня скриптовом языке. Для программистов вот ссылка на репозиторий с исходниками Нового Зеркала (он является веткой кода Былин):

https://github.com/prool/mud

А вот ссылка на репозиторий с миром (в нем видно, что и когда менялось или добавлялось):

https://gitlab.com/prool/new-zerkalo-mud-world-utf

Имейте ввиду, что русские буквы в коде и в мире представлены в кодировке koi8-r (все файлы текстовые и их можно просматривать и редактировать текстовым редактором, например Notepad++, vim, mcedit, F4 в оболочке FAR Manager).
Но все изменения заработают только после перезагрузки мада, именно поэтому тренироваться и билдить лучше на своей локалке. Изменения в коде заработают после успешной перекомпиляции мада (и перезагрузки сервера).

Кстати, общаться со мной лучше по электронной почте, она приходит ко мне сразу на смартфон, который всегда при мне и если я не сплю, не ем, не занят, не на работе и не в трамвае, я могу оперативно ответить. А в маде я появляюсь время от времени

Новость Зеркала

В Зеркале я наконец-то добавил команду КОГДА, которая давно есть в Виртустане.

Эта команда показывает лог последних заходов

Напоминаю адрес Зеркала zerkalo.kharkov.org 4000

И с началом нового учебного года вас! На скучной лекции можно поигрывать в MUD и никто ничего не заподозрит, потому что одни буковки и нет звуков