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
Давно я хотел написать свой мад, но необходимость работы с портами, кодировками и очередями событий пугали меня. И я во время пути на работу и с работы по улице Механизаторской придумал собственную архитектуру. (В процессе работы оказалось, что с кодировками-перекодировками таки надо разбираться, и я сделал это)
-
Мад представляет собой процесс по имени server (процесс в смысле ОС UNIX)
-
Клиенты тоже представляют собой процессы по имени bbs (на одного человека игрока один экземпляр процесса). bbs можно запускать из консоли. А можно создать пользователя по имени bbs, у которого командным интерпретатором будет программа bbs)
-
Общение клиентов с серверов осуществляется путем помещения файликов в каталоги 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. Если вы считаете название дурацким, то по вашему "реки грязи" или "кружок грязи" - более умные наименования? :)
Простейшая инсталляция
-
Все собрать командою make
-
Проверить, чтобы там, где бинарники, были каталоги cmd и messages
-
Запустить в одной консоли сервер ./server
-
Запустить в другой консоли клиента ./bbs
-
Радоваться (рыдать или поражаться идиотизму автора мада)
Пруль, Харьков, 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