Skip to content

prool/bbs-mud

Repository files navigation

bbs-mud

BBS MUD server and client

English abstract, translated by Google Translator

This MUD available via ssh!

Installation: make ; mkdir messages ; mkdir cmd

Create in Linux server user name 'bbs' with password 'bbs' and set his shell to 'bbs'

Run program 'server' as daemon

Login to 'bbs': ssh -l bbs

Enjoy ;-)

Communication between server and client occur in directories 'cmd' and 'messages'

You can not create a new user 'bbs', and run the program './bbs' in the console

Yet realized only moving and chat


Russian text in UTF-8

Введение в BBS MUD

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

  1. Мад представляет собой процесс по имени server (процесс в смысле ОС UNIX)

  2. Клиенты тоже представляют собой процессы по имени bbs (на одного человека игрока один экземпляр процесса). bbs можно запускать из консоли. А можно создать пользователя по имени bbs, у которого командным интерпретатором будет программа bbs)

  3. Общение клиентов с серверов осуществляется путем помещения файликов в каталоги cmd (команды от клиента к серверу) и messages (ответные сообщения сервера), имена файлов начинаются с uid клиента, так достигается уникальность. В общем, многозадачность и семафорность я возложил на ядро UNIX (Linux, FreeBSD) и на его файловую систему.

Вот собственно и всё :)

Процесс-сервер можно запустить демоном в /etc/rc.local

sudo -u bbs ~bbs/autorun.bbs & > /dev/null

и он будет висеть, обслуживать запросы, а клиенты можно запускать вручную из консоли или сделать на UNIX-машине пользователя по имени bbs, у которого в качестве командного интерпретатора будет указан процесс bbs. Этим я убил еще одного зайца: коммуникацию тоже я возложил на UNIX, а так как входить в мад надо будет по протоколу ssh, то это будет кроме всего прочего еще и защищенный мад!

Название BBS (bulletin board system) возникло у меня в голове случайно и прижилось. На данный момент в маде реализован только минимальный чат (механизм общения игроков), то есть мад вполне можно использовать в виде простейшей BBS. Если вы считаете название дурацким, то по вашему "реки грязи" или "кружок грязи" - более умные наименования? :)

Простейшая инсталляция

  1. Все собрать командою make

  2. Проверить, чтобы там, где бинарники, были каталоги cmd и messages

  3. Запустить в одной консоли сервер ./server

  4. Запустить в другой консоли клиента ./bbs

  5. Радоваться (рыдать или поражаться идиотизму автора мада)

Пруль, Харьков, 2015 год


Если у вас ОС Windows и ssh клиент putty, проще всего переключить его на кодировку KOI-8R (пункт настроек putty "Translation") и выбрать в маде кодировку koi, введя первой командой после входа команду koi


Если вы запустили мад-клиент bbs как user shell, то для безопасности отключите port forwarding, внеся в /etc/ssh/sshd_config

X11Forwarding no

AllowTcpForwarding no


А це тест української мови. Слава Україні! Героям слава!


[email protected] http://prool.kharkov.org http://mud.kharkov.org