Prerequisits
Install Debian 7(Wheezy):
Info | Details |
---|---|
Installation | https://www.debian.org/releases/wheezy/debian-installer/ |
Package Manager URL |
|
Update Package Manager Sources:
|
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
[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
[program:xterm] command=/usr/bin/xterm environment=DISPLAY=":1" autostart=true autorestart=true startsecs=5 startretries=1000000 stdout_logfile=NONE stderr_logfile=NONE
vi /usr/local/bin/startvnc
#!/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
#!/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
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
@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
#!/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
#!/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
#!/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
#!/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
#!/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
Update inetd.conf
vi /etc/inetd.conf
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
local
Select S - System Config
Select A - Main BBS Configuration
Configure these values to your hearts content.
System Toggles
New User Question Toggles
User Editor
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
rm 2002v309.zip
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.
bigbang.exe
Configure TradeWars
tedit.exe
Select O - BBS node editor
Fill in Path to Drop File, Drop file type.
Drop Path | g:\rg\temp1 |
BBS Drop File Type | DOOR |
Configure Renegade
In Renegade, perform the following steps:
Using Dosemu
g:
cd g:\rg
local.bat
Select # for the menu editor
Select M and 17
Select C
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
edit tw2002.bat
@echo off g: cd g:\rd\doors\tw2002 call tw2002.exe TWNODE=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 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 |