Рабочее

tbamud/prool, который я кручу-верчу, выпал при команде shutdown в корку

это плохой знак

“нам потребуются более тщательные наблюдения”

Место, где происходит crash найдено при помощи gdb и помечено. Обычный сбой при использовании ptr (или там ноль или мусор). Как бороться с нулем, понятно, проверять. Причем вероятность сбоя низкая: при освобождении фолловеров, но не всегда

Еще и gdb в корку вылетел

Apr 22 16:23:46 ���� :: (GC) Shutdown by Prool.
Apr 22 16:23:46 �%W :: Closing all sockets.
Apr 22 16:23:46      :: Closing link to: Prool.
Apr 22 16:23:46     :: Saving current MUD time.
Apr 22 16:23:46      :: Normal termination of game.
Fri Apr 22 16:23:46 2016 Normal termination of game.
Apr 22 16:23:46      :: Clearing game world.
Fri Apr 22 16:23:47 2016 locate follower who is not head of list

Fri Apr 22 16:23:47 2016 locate follower who is not head of list


Program received signal SIGSEGV, Segmentation fault.
../../gdb/dwarf2-frame.c:1907: internal-error: decode_frame_entry_1: Assertion `fde->cie != NULL' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) y

../../gdb/dwarf2-frame.c:1907: internal-error: decode_frame_entry_1: Assertion `fde->cie != NULL' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Create a core file of GDB? (y or n) y
Аварийный останов (core dumped)

Ссылки

tbamud

tbamud/prool

Первые мады

Хочу обрадовать всех, кому не безразлична история MUDов, самые первые их версии (разработка которых началась еще в 70х годах прошлого века) силами энтузиастов до сих пор доступны для игроков. Сайт MUD1 http://www.british-legends.com/CMS/, войти в игру можно по адресу british-legends.com порт 27750. Сайт MUD2 (более продвинутая версия MUD1) http://www.mud2.com/CMS/index.php, войти в игру можно по адресу mud2.com порт 23. На сайтах есть также Java-приложения для игры через браузер.

From http://muder.ru/blog/36.html

News

Последние недели ресурс muder.ru повысил свою активность и там появляются интересные сообщения и дискуссии по теме мадов. Например, рассуждения о современном мад-сервере. (А mudconnector.su наоборот, впал в летаргию). Я кстати добавил muder в список ссылок в статье на Луркоморье. Может, то же и в Википедии сделать? Так удалисты всё равно удалят

prool httpd

Изучая программирование сокетов в Linux (см. одно из предыдущих сообщений) ВНЕЗАПНО у меня анчал получаться свой простейший httpd (нечто типа Апача или nginx). Выложу на github чуть позже

Экспериментаторы могу в качестве эксперимента по изучению протокола http зайти при помощи любого мад-клиента (например, JMC) на любой веб-сайт, на порт 80 и дать команду

GET / HTTP/1.0

Или наоборот, зайдите на любой мад браузером, например так

http://mud.kharkov.org:3000

или так

http://zerkalo.kharkov.org:4000

Webtelnet

Китайским товарищем на Гитхабе выложен прокси-сервер для MUDов, который создает мост между телнетом и вебсокетом. Позволяет посещать телнет-серверы посредством браузера, играть в MUD через браузер. По крайней мере так утверждает разработчик

Исходники https://github.com/mudchina/webtelnet

Источник инфы http://muder.ru/blog/23.html

И снова о русификации английских кодовых баз, основанных на Circle

Я только о том, чтобы мад воспринимал символы из второй половины таблицы ASCII. И строго говоря это не русификация и даже не кириллизация, а интернационализация и UTFизация

Возьмем, к примеру TBAMUD

Файл comm.c, в функции perform_socket_read

ищем строку с проверкой isascii(*ptr)&&isprint(*ptr)

и меняем ее на ((unsigned char)*ptr)>=32U

Почему так коряво, да потому что по умолчанию *ptr – это signed *char

Я там и единицу ставил (то есть всегда true), тоже работало, но лучше от символов, меньших пробела, защититься 😉

Возможно есть и другие места, где придется слегка модифицировать код, чтобы нормально проходили старшие символы (>127). И не надо забывать, что char signed!

UPDATE. 01-Apr-2017. То же касается и русификации ROM и вообще всех детей Diku

UPDATE. 03-Dec-2017. И не надо забывать, от командах протокола telnet, которые могут появиться, например в начале строки и испортить картину. Например, испортится ввод пароля или ввод команд. Вот пример таких последовательностей FF FD 01 и FF FE 01

Compile Virtustan MUD at Ubuntu 15.10 64bit

sudo apt-get install gcc-4.9-multilib g++-4.9-multilib

sudo apt-get install gcc-multilib g++-multilib

sudo apt-get install libpcap-dev

всё равно не получается!!!!!!!!!!!!!!!!!!!!!

ну и хрен с ним. в 32 разрядных системах всё собирается с полпинка