BBS MUD server and client
C Shell Makefile
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.depend
.gitignore
LICENSE
Makefile
README.md
autorun.bbs
bbs-install.sh
bbs.c
bbs.cfg
common.c
common.h
make_distro.sh
server.c
server.h

README.md

bbs-mud

Screenshots. Скриншоты

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


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


proolix@gmail.com http://prool.kharkov.org http://mud.kharkov.org