...
Prerequisits
Install Debian 7(Wheezy) :
...
Info
...
Details
...
or Debian 8(Jessie) i386 architecture:
https://www.debian.org/releases/
...
...
Update Package Manager Sources :
...
and add contrib. See below:
vi /
...
etc/apt/sources.list
Code Block |
---|
...
deb http:// |
...
ftp.us.debian.org/debian/ |
...
jessie main |
...
contrib
deb-src http://ftp.us.debian.org/debian/ jessie main contrib
deb http://security.debian.org/ jessie/updates main
deb-src http://security.debian.org/ jessie/updates main |
Install SSHD if not installed via the installer
apt-get install openssh-server
Enable root login at GUI
vi /etc/gdm3/daemon.conf
Add AllowRoot=true under the security section
Code Block |
---|
...
[security]
AllowRoot=true
... |
vi /etc/pam.d/gdm3
Comment out the following line:
Code Block |
---|
...
#auth required pam_succeed_if.so user != root quiet_success
... |
Logout and log in using root
Install Subversion
apt-get install subversion
Checkout BBS package
svn co https://svn.jmehan.com:8443/svn/PROJECTS/bbs
Install BBS
cd bbs
install.sh
Run
startbbs
stopbbs
Renegade BBS
With the BBS Running, VNC into the instance at IP:1
Configuration
Configure the BBS for 6 nodes
echo 6 > /dos/numnodes
From an xterm issue the following command:
dosconsole
From the DosEmu terminal perform the following steps:
Install SSHD
apt-get install openssh-server
Install telnetd
apt-get install telnetd
Install dos2unix/unix2dos
apt-get install dos2unix
Install Supervisor
apt-get install supervisor
Install addition apps
apt-get -y --no-install-recommends install wget tightvncserver xfonts-base \
lwm xterm vim-tiny less ca-certificates balance \
zip unzip pwgen xdotool telnet nano \
mtools dosfstools dos2unix inetutils-telnetd openbsd-inetd \
xvnc4viewer tcpser ser2net socat liblockfile-bin
Update Supervisor Configurations
vi /etc/supervisor/conf.d/vncserver.conf
Code Block |
---|
[program:vncserver]
command=/usr/local/bin/startvnc
autostart=true
autorestart=true
startsecs=5
stdout_logfile=NONE
stderr_logfile=NONE |
vi /etc/supervisor/conf.d/xterm.conf
Code Block |
---|
[program:xterm]
command=/usr/bin/xterm
environment=DISPLAY=":1"
autostart=true
autorestart=true
startsecs=5
startretries=1000000
stdout_logfile=NONE
stderr_logfile=NONE |
vi /etc/supervisor/conf.d/rawsocat.conf
Code Block |
---|
[program:rawsocat]
command=/usr/local/bin/waitfordaemon vncserver /usr/bin/socat TCP4-LISTEN:23,reuseaddr,fork EXEC:"/usr/local/bin/startnode,pty"
priority=1
directory=/dos
environment=DISPLAY=":1"
autostart=true
autorestart=true
startsecs=5
startretries=1000000
stdout_logfile=NONE
stderr_logfile=NONE |
vi /etc/supervisor/conf.d/tcpsercon.conf
Code Block |
---|
[program:tcpsercon]
command=/usr/bin/tcpser -v 7000 -s 115200 -p 8000
priority=1
directory=/dos
environment=DISPLAY=":1"
autostart=true
autorestart=true
startsecs=5
startretries=1000000
stdout_logfile=NONE
stderr_logfile=NONE |
vi /etc/supervisor/conf.d/telnetinetd.conf
Code Block |
---|
[program:telnetinetd]
command=/usr/local/bin/waitfordaemon vncserver /usr/sbin/inetd -E -i -l
priority=1
directory=/dos
environment=DISPLAY=":1"
autostart=false
autorestart=true
startsecs=5
startretries=1000000
stdout_logfile=NONE
stderr_logfile=NONE |
vi /usr/local/bin/startvnc
Code Block |
---|
#!/bin/bash
echo " *** startvnc script"
set -e
export VNCPASSWORD='xxx'
if [ -z "$VNCPASSWORD" ]; then
VNCPASSWORD=`pwgen 8`
echo " *** VNC password for this session: $VNCPASSWORD"
fi
export USER="`whoami`"
mkdir -p ~/.vnc
echo "$VNCPASSWORD" | tightvncpasswd -f > ~/.vnc/passwd
chmod 0600 ~/.vnc/passwd
tightvncserver -geometry 1024x768 :1
sleep 1
tail -f ~/.vnc/*.log |
vi /usr/local/bin/waitfordaemon
Code Block |
---|
#!/bin/bash
while supervisorctl status "$1" 2>/dev/null | grep -vq 'RUNNING'; do
echo "Waiting for $1"
sleep 1
done
# An additional wait, just to be safe
sleep 3
shift
exec "$@" |
chmod +x /usr/local/bin/waitfordaemon
DOSEmu
Installation
sudo su
apt-get update
apt-get install dosemu
Setup OS and Utilities
Setup Folders
Code Block |
---|
mkdir /dos
for DRIVE in e f g h i j k; do
mkdir -p /dos/drive_$DRIVE
ln -s /dos/drive_$DRIVE /etc/dosemu/drives/$DRIVE
done
mkdir /dos/drive_h/UTILS
mkdir /dos/drive_h/STARTUP
mkdir /dos/sessions
mkdir /dos/session.skel
echo > /dos/drive_e/BOOTUP.BAT
unix2dos /dos/drive_e/BOOTUP.BAT
# These seem to be what dosemu does on start.
#cp -rv /etc/dosemu/freedos /dos/session.skel/drive_c
#mkdir /dos/session.skel/drive_c/tmp
touch /dos/session.skel/dosemu.conf
echo 0 > /dos/numnodes
echo 1 > /dos/startconsole
echo '$_com1 = "virtual"' >> /etc/dosemu/dosemu.conf
echo '$_timemode = "linux"' >> /etc/dosemu/dosemu.conf
|
Update AUTOEXEC.BAT
vi /etc/dosemu/freedos/autoexec.bat
Code Block |
---|
@echo off
rem autoexec.bat for DOSEMU + FreeDOS
path z:\bin;z:\gnu;z:\dosemu;h:\utils
set HELPPATH=z:\help
set TEMP=c:\tmp
blaster
prompt $P$G
unix -s DOSEMU_VERSION
echo "Welcome to dosemu %DOSEMU_VERSION%!"
CALL E:\BOOTUP
unix -e |
unix2dos /etc/dosemu/freedos/autoexec.bat
Install utilities
Run the following script
Code Block |
---|
#!/bin/bash
set -e
set -x
rm -rf /tmp/setup
mkdir /tmp/setup
## Do the downloads
cd /tmp/setup
wget https://ftp.sunet.se/mirror/archive/ftp.sunet.se/pub/simtelnet/msdos/fossil/adf_150.zip
wget https://bbs.bapho.net/bbs/i-drive/generic/pkz204g.exe
wget http://cd.textfiles.com/pier/pier08/046/list91k.zip
wget http://www.filegate.net/comm/dszexe.zip
# Unpack PKZIP
mkdir /tmp/setup/t
cd /tmp/setup/t
unzip ../pkz204g.exe
mv -v PKZIP.EXE PKUNZIP.EXE PKUNZJR.COM /dos/drive_h/UTILS/
cd /tmp/setup
rm -r /tmp/setup/t
# Unpack LIST
mkdir /tmp/setup/t
cd /tmp/setup/t
unzip ../list91k.zip
mv -v LIST.COM /dos/drive_h/UTILS/
cd /tmp/setup
rm -r /tmp/setup/t
# Unpack DSZ
mkdir /tmp/setup/t
cd /tmp/setup/t
unzip ../dszexe.zip
mv -v DSZ.EXE /dos/drive_h/UTILS/
cd /tmp/setup
rm -r /tmp/setup/t
# Unpack ADF (FOSSIL)
cd /dos/drive_h
rm -rf adf
mkdir adf
cd adf
unzip /tmp/setup/adf_150.zip
rm /tmp/setup/adf_150.zip |
Add startdossession script
vi /usr/local/bin/startdossession
Code Block |
---|
#!/bin/bash
# $1 - session name
set -e
if [ -z "$1" ]; then
echo "Syntax: $0 sessionname [dosemuargs]"
exit 1
fi
export SESSION="$1"
SESSPATH="/dos/sessions/$1"
if [ ! -e "$SESSPATH" ]; then
cp -a /dos/session.skel "$SESSPATH"
fi
if check-dosemu-session $SESSION; then
echo "dosemu session $SESSION already running; refusing to start again"
exit 1
fi
HOME=/root # telnetd may not leave this set for us
# Copy .Xauthority, since we have to set HOME
rm -rf "$SESSPATH/.Xauthority"
cp -r $HOME/.Xauthority "$SESSPATH"
# After the first start, we have to copy the drive stuff into here.
DRIVESPATH="$SESSPATH/.dosemu/drives"
if [ -e "$DRIVESPATH" ]; then
cp -an /etc/dosemu/drives/* "$DRIVESPATH"
fi
waitfordaemon vncserver
shift
# Final sanity check.
dotlockfile -p -l "$SESSPATH/jglock"
# -f is an excuse for the session check
stty raw
DISPLAY=:1 HOME="$SESSPATH" exec dosemu -f "$SESSPATH/dosemu.conf" "$@"
dotlockfile -p -u "$SESSPATH/jglock"
|
chmod +x /usr/local/bin/startdossession
Add check-dosemu-session script
vi /usr/local/bin/check-dosemu-session
Code Block |
---|
#!/bin/bash
# Check if a dosemu session named "$1" is running.
# If yes, exit with code 0 and display its PID.
# If no, exit with code 1.
pgrep -f "dosemu.*/dos/sessions/$1/dosemu.conf" |
chmod +x /usr/local/bin/check-dosemu-session
Add startnode script
vi /usr/local/bin/startnode
Code Block |
---|
#!/bin/bash
set -e
MAXNODE=${BBSNODES:-`cat /dos/numnodes`}
FOUNDNODE=""
for NODE in `seq 1 $MAXNODE`; do
if ! check-dosemu-session node$NODE &> /dev/null; then
FOUNDNODE="$NODE"
break
fi
done
if [ -z "$FOUNDNODE" ]; then
echo "All nodes are busy now; please try again later."
exit 1
fi
SESSNAME=node$FOUNDNODE
STARTUP=/dos/drive_h/STARTUP/NODE$FOUNDNODE.BAT
# Hook to let node prep happen
if [ -e /dos/nodeprephook.sh ]; then
. /dos/nodeprephook.sh
fi
printf "Welcome to node $FOUNDNODE. Please stand by while we connect you...\r\n"
exec startdossession $SESSNAME "H:\\STARTUP\\NODE$FOUNDNODE" |
chmod +x /usr/local/bin/startnode
Add dosconsole script
vi /usr/local/bin/dosconsole
Code Block |
---|
#!/bin/bash
export DISPLAY=:1
SESSNAME="console"
set -e
set -x
if [ "`cat /dos/startconsole`" = 0 ]; then
echo "$0 startup disabled by /dos/startconsole; not starting."
sleep 900d
exit 0
fi
waitfordaemon vncserver true
waitfordaemon tcpsercon true
exec socat TCP4:localhost:7000 EXEC:"startdossession console",pty |
vi /dos/nodeprephook.sh
Code Block |
---|
# Called by startnode
if [ ! -e $STARTUP ]; then
echo "H:" >> $STARTUP.tmp
echo "cd ADF" >> $STARTUP.tmp
echo "lh adf COM1 3F8 4 115200 8192 8192 8" >> $STARTUP.tmp
echo "G:" >> $STARTUP.tmp
echo "cd rg" >> $STARTUP.tmp
echo "renegade /N$FOUNDNODE -Q -B115200" >> $STARTUP.tmp
echo "exitemu" >> $STARTUP.tmp
unix2dos $STARTUP.tmp &> /dev/null
mv $STARTUP.tmp $STARTUP
fi |
chmod +x /dos/nodeprephook.sh
Update inetd.conf
vi /etc/inetd.conf
Code Block |
---|
23 stream tcp nowait root /usr/sbin/tcpd /usr/sbin/telnetd -a off -h --exec-login=/usr/local/bin/startnode |
Renegade BBS
Installation
We will be installing everything under /dos. Renegade will be installed under /dos/drive_g.
Extract
sudo su
cd /dos/drive_g
wget http://renegadebbs.info/files/unofficial.rgbbsfullv120a.zip
unzip unofficial.rgbbsfullv120a.zip
rm unofficial.rgbbsfullv120a.zip
Add additional NODE DAT files
cd rg/DATA
for ASDF in 2 3 4 5 6 7 8 9; do
cp NODE1.DAT NODE$ASDF.DAT
done
Patch the paths
cd /dos/drive_g
find . -type f -exec sed -i 's,C:\\RG,G:\\RG,g' {} \;
Set number of nodes
echo 2 > /dos/numnodes
Configuration
Using dosemu
g:
cd g:\rg
renegade -n1 local
Select S - System Config
...
From the local window, select U
Update the SYSOP user.
Tradewars 2002
Installation
Install under /dos/drive_g/rg/doors:
cd /dos/drive_g/rg/doors
mkdir tw2002
cd tw2002
wget https://www.slbbs.com/files/doorgame/2002v309.zip
unzip 2002v309.zip
Update the drop file location for all of the nodes
Repeat the following steps for all 6+ nodes from a dosconsole:
g:
cd g:\rg
renegade -n<nodeNumber> -l
Select S - System Config, then B - Modem/Node Configuration
Update "B - Drop File Location" with the folder
G:\RG\TEMP<nodeNumber>
Tradewars 2002
Installation
Start by buying a license if you still can.
...
Start DOSEmu
dosemu
Install from DOSEMU
g:
cd g:\rg\doors\tw2002
install.bat
If you need to redo the BIG BANG, you will find a file called bigbang.exe in the tradewars folder.
...
Select O - BBS node editor
Update B - Path to Drop File and C - BBS Drop file type for all of the nodes you are configuring.
Fill in Path to Drop File, Drop file type.
For Node1:
Drop Path | g:\rg\temp1 |
BBS Drop File Type | DOOR |
...
Select M and 1
Configure like above. The values for %N won't be use unless you have multinode setup in TradeWars.
Update the tw2002.bat file
...
Code Block |
---|
@echo off g: cd g:\rd\doors\tw2002 call tw2002.exe TWNODE=1%1 rem pause |
Since by default, you only have a license for 1 node of Tradewars. If you are having issues, uncomment the pause to see the error.
References
Renegade
Reference | URL |
---|---|
Renegade Docs | http://renegadebbs.info/docs/index.html |
Renegade Menu Command | http://renegadebbs.info/docs/menucmd.html |
Renegade Download | http://renegadebbs.info/files/unofficial.rgbbsfullv120a.zip |
Renegade in Docker | https://hub.docker.com/r/jgoerzen/bbs-renegade |
BBS in Docker | https://hub.docker.com/r/jgoerzen/dos-bbs |
DOSEmu in Docker | https://hub.docker.com/r/jgoerzen/dosemu |
How to fix a Run Time Error 200 | http://www.pcmicro.com/elebbs/faq/rte200.html |
Trade Wars 2002
Reference | URL |
---|---|
Tradewars Download | https://www.slbbs.com/files/doorgame/2002v309.zip |
Register Tradewars | https://www.eisonline.com/ |
Trade Wars Guide | http://wiki.classictw.com/index.php/Gypsy%27s_Big_Dummy%27s_Guide_to_TradeWars_Text |
Crack | http://cd.textfiles.com/thebbsorg/bbswarez/fresh/Trade%20Wars%202002%20v.3.09.Gold/ |