
         /\_________________________
   _____/  \   ____      _______   (__                               ______
 )_ __ /    \  (_    /_  (_  ________ _(    wOE!mODDING presents:    )____(
  == )___/   \ ____      ____'     (_==                                il
 //wOE==)______(==)______(==)_______( How to use Dos Doors w/ DayDream )i
=============================================================================

Start Quote "Daydream linux has various never-seen features that makes it the
one and only BBS software." End Quote. They should have added and missing
many features that any other bbs software has, but Lets not go down this
road.

In the world of telnet bbses you need a hook to get those fuckers, I mean
users to call. One tried and true method is door games..

Before we get too involved you need to have dosemu installed and working
(I assume you should already know this? but anyways)

First thing that you need to do is get a drop file made, no problem right?
Wrong Daydream doesn't make dropfiles (oops) so Mule my cosys whiped up a
handy program contained within this archive that makes dorinfoX.def files.
I experimented with various ways of making the drop files and decided that
since daydream doesnt have a clue that you made the drop file it really
doesn't matter WHEN you make it (not to mention that the drop file doesnt
have the correct time online ;). So I make one for every user when they
logon.

Insert this in your welcome.x files

--cut
~#MCdorinfo|
--cut

and of course you need the command in your daydream.cfg file. Mine looks
like this

--cut
DOOR_COMMAND.. DORINFO
DOOR_TYPE..... 1
DOOR_SECURITY. 200
DOOR_EXECUTE.. /home/bbs/doors/df %N
DOOR_CONFS1... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
DOOR_CONFS2... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--cut

Now that you have a drop file the rest should be easy right? Wrong.
Daydream doesnt like passing the node to door types other than 1
(daydream door). This is a neat little obsticle to get over and its not
made easier by this little bug I ran into (unless im just doing it wrong).

To get lord to run on inso from ANY confrence (I use 2 different launching
meathods as you will find out) it requires multiple commands, easy again
right most bbses offer command chaining, well daydream doesnt :)

below are my 3 lord commands. I will go in detail as to what they do.

--cut
DOOR_COMMAND.. LORDPRIME
DOOR_TYPE..... 1
DOOR_SECURITY. 200
DOOR_EXECUTE.. /home/bbs/doors/lordprime %N
DOOR_CONFS1... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
DOOR_CONFS2... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+
DOOR_COMMAND.. LORDRUN
DOOR_TYPE..... 2
DOOR_SECURITY. 200
DOOR_EXECUTE.. /home/bbs/doors/lordrun
DOOR_CONFS1... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
DOOR_CONFS2... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+
DOOR_COMMAND.. LORD
DOOR_TYPE..... 3
DOOR_SECURITY. 200
DOOR_EXECUTE.. cat /home/bbs/display/iso/lord.gfx
DOOR_CONFS1... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
DOOR_CONFS2... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--cut

Alright the first one, lordprime does what it suggests it gets ready to
run lord. Since you need the node number to run lord it has to be a door
type 1. This is what my lordprime script looks like.

--cut
#!/bin/bash
cp /var/lib/dosemu/bootdir/autoexec.$1 /var/lib/dosemu/bootdir/autoexec.bat
cp /home/bbs/doors/dorinfo$1.def /var/lib/dosemu/bootdir/lord355
--cut

as you can see, it copies a new autoexec.bat into your dosemu bootdir and
the required drop file. The autoexec.bat for that node looks like this.
Remember also that you need an autoexec.bat file for every node.

--cut
log on       <-- ignore i log commands for added security
cd\lord355
start 1
exitemu
--cut

Remember that you have to make the batch files in dosemu with something
like edit.com. Now my lord start.bat isnt entirely stock either, this is
what it looks like.

--cut
command /c startlor.bat %1
c:\exitemu
--cut

I do this because lord has lots of batch files and ctrl-c ing during the
process is a bad bad thing :) startlor.bat is the original start.bat file
with this added at the end.

--cut
:REALDONE
DEL C:\AUTOEXEC.BAT
COPY C:\AUTOEXEC.OLD C:\AUTOEXEC.BAT
EXITEMU
--cut

autoexec.old is simply an empty autoexec.bat file (so if you want to run
dosemu to do work in there you can. Or you can simply delete the
autoexec.bat file whatever.

Now we need to go back up a few steps to look at some of the other
daydream commands to launch lord. lordrun is simply a shell to start
dosemu. It looks like this.

--cut
#!/bin/bash
dos
--cut

and the other commmand lord is a text file with embeded menu commands.

--cut
Getting ready to run lord...
 - is your screen length set to 25?
~#MClordprime|
Running lord...
~#MClordrun|
--cut

Alright thats pretty simple accept i couldn't get daydream to display the
file with the command instead it told me it couldn't find the file. After
fucking with it for a while I grew tired of it and made a dirty hack
changing the string file to this.

--cut
missingtextstr:\alord
--cut

so instead of daydream telling me it couldn't find the bloody file it
displays it :) Dirty I know, but it works.

so after all that crap you can now finally run lord from daydream. I few
points to note are that, lord thinks its a local node so the sysop bar is
displayed. This causes a few problems. If your running one of the newest
versions of lord by those other guys the option to turn off the sysop bar
might actually work. However i use the last seth able version and it
doesnt, turning it off simply stops the time from ticking horribly. This
is a problem because the sysop bar has neet commands you don't
particularly want your users running. Most importantly DOS SHELL :)

Add this to your msdos.sys under [Options]

--cut
BootKEYS=0
--cut

Now this was rather long winded so I wont go into great deatail how I
launch other doors since I changed the string file. Get imaginative maybe
you can get daydream to display the file, I couldn't. For other doors I
use confrences and have the confrencejoined.gfx file launch the door.

Getting dos doors working wasnt fun and wouldn't have been possible, or
safe without the help of The_Mule and Invisi. Thanks guys.

A final note, if the sysop bar is being displayed in the door your
running, make sure your users have there screen length set to 25 in
daydream.

>> silica avatar

Ways to get in touch with me are:

efnet - try #diy or #woe
email - silica@inso.darktech.org
bbs - inso.darktech.org
