TIP: Click on subject to list as thread! ANSI
echo: muffin
to: Bo
from: Wes Garland
date: 2003-05-26 11:33:44
subject: Maximus at UNIX

Good show, Bo!

But I was hoping to be the first to make the announcement, looks like you
beat me to it. :):)

Updates
- Bo an Andrew have contributed changes to the project which allow building
under FreeBSD and modern Linux (thanks, guys!)

- There is a new telnet communications library available, which should
allow the board to accept multiple inbound telnet connections. Real telnet,
not raw sockets like the initial version. It is a limited implementation,
however, so might not work with some clients (I need to know if you find
one that breaks it). Pressing ESC after connecting to the BBS will kick max
in gear. 

Trickery: The telnet code will fork and exit after closing the listening
socket and accepting the inbound connection. So you need something to start
max back up again. /etc/inittab is one way, but if max is taking a high
client load, init might shut it down. Look for a script to do this at the
end of this post.

- -n (node number) command line option accepts zero as a value. If it is zero,
it will "dynamically" choose a node number from 1-255, based on semaphores
in /tmp.  This is highly suggested for use with the telnet module.

- Along with the telnet module comes a new raw sockets module (same file,
actually -- just no -DTELNET. Should behave the same as the old one, but
the code is cleaner and better commented. OH! That reminds me! The Makefile
in comdll didn't make it into the diff. Look at the end of this post to see
how to build the telnet module.
  
- I have put a symbolic link to my actual "work tree" at
http://wes.zapto.org/~wes/maximus/development_tree. If you wanted to be
absolutely bleeding-edge in terms of changes, you could mirror it. I save
my work every five minutes or so. 

- I have made some minor changes so that curses won't core max if the
stdscr vanishes. 

You can grab the tar file (unpack it in your source tree) at
http://wes.zapto.org/~wes/maximus/max-unix-3.03a-path1.tar.gz.

I have not integrated any of Bo's or Andrew's changes to my tree yet (that
will be -3.03b), but this patch is only 6 or 8 files so it should be
relatively easy to apply.

Here is the make file for comdll (remember, 8spc = tab):
WHICH=telnet
 
include ../vars.mk
 
ifeq ($(WHICH),telnet)
libcomm.so: telnetcomm.o
else
libcomm.so: rawcomm.o
endif
        gcc -shared $^ -o ${at}
 
install: libcomm.so
        cp -f $^ /var/max/lib
 
telnetcomm.o: rawcomm.c
        $(CC) $(CFLAGS) $(CPPFLAGS) -DTELNET -c $^ -o ${at}

Here is the script I use for running max right now (port 2000):
#! /bin/bash
#
# $Id:$
#
# $Log:$
#
# {at}file         runbbs.sh
# {at}author       Wes Garland
# {at}date         May 25 2003
# {at}description  A helpful script for running Maximus under 
#               UNIX. Ideal for init:respawn monitoring.
#
 
PREFIX=/var/max
 
MAXIMUS="${PREFIX}/etc/max.prm"
PATH="${PATH}:/${PREFIX}/bin"
minDynNode=3
 
cd ${PREFIX}
 
while /bin/true
do
  [ -f "${PREFIX}/die.now" ] && break
  bin/max -w -b38400 -n0 -p2000
  sleep 1
done

Here is how I start that script from /etc/inittab:
mx:234:respawn:/bin/su - bbs -c "cd /var/max && bin/runbbs.sh"

Cheers,
Wes


--- Maximus/2 3.01
* Origin: COMM Port OS/2 juge.com 204.89.247.1 (281) 980-9671 (1:106/2000)
SEEN-BY: 633/267 270
@PATH: 106/2000 633/267

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.